Report programming issues

hi
in my report i want to trigger a new document when a new document type found.
in the below logic i have tried
LOOP AT gt_pur_fiaccr. // this table has unique records but not doc type field
  read table gt_prules // this table has doc type records
    AT NEW doc type
fill the logic to trigger a new report .
regards
Atul

Hi,
You can use 'ON CHANGE OF WA_ITAB-DOC_TYPE.
but i dont think this will solve ur problem.. It would be better to:
1. insert a 'doc_type' field in the internal table 'gt_pur_fiaccr'.
2. Insert doc_type values to the internal table by
             field-symbols: <fs> like line of gt_pur_fiaccr.
             loop at gt_pur_fiaccr assigning <fs>.
                  read table gt_prules with key ......
                  <fs>-doc_type = gt_prules-doc_type.
             endloop.
3. Now u can use 'AT NEW doc_type inside the loop.
Edited by: Sukriti Saha on Sep 26, 2008 10:02 AM

Similar Messages

  • HR ABAP- Report Performance Issue

    Can you please any body tell me how to debug a report program by putting watch points and break points.
    Waiting for your Reply.
    Anu
    Bangalore

    Hi,
               If you have programm name then proceed with SE38 or take the programm name from Trasaction code which  you are using.
    Break Points:   If it is performance issue , put external break points around select querie and loop ---end loop.
    Watch Points :  in the debug screen choose the watch  point option and  give the field name from  your internal table for which you want to put watch point.
    After that give the range which you record you want to see in the range options.
    for these steps:  1. Execute your programm.
           2. In the selection screen enter /h in the command window to start debugging screen or put break points before excuting.
         3. Once you are in debug screen then start woring with F5 or F6 or F7 and create watch points where ever you like.

  • Need help in the Report Program!!!

    Hi,
    This is SAI KUMAR.
    <b>Selection Screen</b>
    Sales Org: <b>VKORG</b>
    Distribution Channel: <b>VTWEG</b>
    Division: <b>SPART</b>
    Billing Type: <b>FKART</b>
    Plant: <b>WERKS</b>
    Payment Terms: <b>ZTERM</b>
    Sold-to Party: <b>KUNAG</b>
    Billing Date: <b>FKDAT</b>
    Now Using the above Selection screen inputs, I want to generate the following fields in the output.
    <b>Output Screen</b>
    Invoice No: <b>VBELN</b>
    Invoice Date: <b>FKDAT</b>
    Customer Number: <b>KUNNR</b>
    Customer Name: <b>NAME1</b>
    Material Description: <b>MAKTX</b>
    Payment Terms: <b>ZTERM</b>
    Net Value: <b>NETWR</b>
    Ship-to City: <b>ORT01</b>
    Sold-to party: <b>KUNAG</b>
    Ship-to party: <b>KUNNR</b>
    <u><b>Tables Used: </b></u>
    Delivery: <b>LIKP, LIPS</b>
    Invoice:<b>VBRK, VBRP</b>
    Customer: <b>KNA1</b>
    Material: <b>MARA</b>
    Material Description: <b>MAKT</b>
    <b>
    Now the Problem what I got is....How to link between these tables...ie., what common fields can be used between these tables so that I can use FOR ALL ENTRIES and retrieve the above output fields.</b>
    Can anyone please help me out in giving a REPORT program or a pseudo code for the above data.
    Thanks & Regards,
    SAI KUMAR
    <b>ID: [email protected]</b>

    See the below code :
    REPORT zjpvrom323 NO STANDARD PAGE HEADING LINE-SIZE 200 LINE-COUNT 35
    MESSAGE-ID zjpv001 .
    *& Development ID:   OM_DD_323_LJP                                    *
    *& Report        :   ZJPVROM323                                       *
    *& This application is used to Develop a new billing document that    *
    *& fulfills  the  NPKK  Requirement That does not exist in JSP        *
    *& functionality.according to the delivery date it displays Monthly   *
    sales notes report                                                *
    *& Change Log:                                                        *
    *&  Init.        Who             Date         Text                    *
    *& MALIKDH1     Seshu Reddy     2003/07/20   Initial Development      *
              Constants
    CONSTANTS :c_vkorg(4) VALUE 'JP20', " Sale Organization
               c_vtweg(2) VALUE 'TR',   " Distribution Channel
               c_rfbsk VALUE 'C',       " Status for transfer to accounting
               c_spart(2) VALUE '01',   " Division
               c_kvgr2(3) VALUE 'Z51',  " Customer Group 2
               c_fkart(4) TYPE c VALUE 'ZJPW', " Billing Type
               c_waerk(5) TYPE c VALUE 'JPY',  " SD document currency
               c_kschl(4) TYPE c VALUE 'ZJPC', " Condition type
               c_no_of_lines TYPE i VALUE '35',
               C_CONS_5(1) TYPE C VALUE '5',
               C_CONS_8(1) TYPE C VALUE '8',
               C_CONS_10(2) TYPE C VALUE '10',
               c_konwa(5) TYPE c VALUE 'JPY'. " Rate unit (currency or
    "            percentage)
              DB-Tables                                                *
    *TABLES : vbrk,           " Billing : Header Data
            vbrp,           " Billing : Item Data
            kna1,           " Customer master : General data
            knvv,           " Customer master : sales data
            likp,           " Delivery : Header data
            konv,           " Condition : Transaction data
            konp,           " Condition : items
            zjpv_torihiki,  " Add on table:Business transaction category
            zjpv_rebate.    " Add on table : rebate table
               Variables/Internal table                                 *
    DATA :g_date(2) TYPE n,           " Date
          g_month(2) TYPE n,          " Month
          g_year(4) TYPE n ,          " Year
          g_bill_low(10) TYPE n,       " From date
          g_bill_high(10) TYPE n,      " To date
          g_month1(2) TYPE n,         " Month
          g_year1(4) TYPE n,          " Year
          g_date1(2) TYPE n,          " Date
          g_year2(4) TYPE n,          " Year
          g_datum LIKE sy-datum,      " System date
          g_skip(4) TYPE c ,          " Line break
          g_ctax(8) TYPE c,           " Consumption tax
          g_ctax1(10) TYPE c,         " Consumption tax
          g_ctax2(16) TYPE c,         " Consumption tax
          g_vol(6) TYPE c,            " Volume
          g_vol1(6) TYPE c,           " Volume
          g_vol2(7) TYPE c,           " Volume
          g_tamt(10) TYPE c,          " Total amount
          g_tamt1(13) TYPE c,         " Total amount
          g_tamt2(16) TYPE c,         " Total amount
          g_gtotal(10) TYPE c,        " Net total
          g_gtotal1(13) TYPE c,       " Net total
          g_gtotal2(16) TYPE c,       " Net total
          g_uprice(8)  TYPE c,        " Unit Price
          g_uprice1(10)  TYPE c,      " Unit Price
          g_uprice2(11)  TYPE c,      " Unit Price
          g_amount(10) TYPE c,        " Amount
          g_amount1(13) TYPE c,       " Amount
          g_amount2(14) TYPE c,       " Amount
          g_fctax(16) TYPE c,      " Consumption Tax (Total)
          g_ftamnt(16) TYPE c,     " Total amount (Total)
          g_ftotal(16) TYPE c,     " net total (Total)
          g_fctax1(8) TYPE c,      " Totals with Comma (Consumption tax)
          g_fctax2(10) TYPE c,     " Totals with Comma (Consumption tax)
          g_fctax3(11) TYPE c,     " Totals with Comma (Consumption tax)
          g_ftamt1(10) TYPE c,     " Totals with comma (Total amount)
          g_grand_total(16),
          g_grand_total1(14),
          g_net_total(16),
          g_net_total1(14),
          g_middle_val(16),
          g_middle_val1(11),
          g_ftamt2(13) TYPE c,     " Totals with Comma(Total amount)
          g_ftamt3(14) TYPE c,     " Totals with comma(Total amount)
          g_ftotal1(10) TYPE c,    " Totals with comma(Net total)
          g_ftotal2(13) TYPE c,    " Totals with comma(Net total)
          g_ftotal3(14) TYPE c.    " Totals with comma(Net total)
    *Internal table for billing document header
    DATA : BEGIN OF t_vbrk OCCURS 0,
           vbeln LIKE vbrk-vbeln,      " Billing Doc number
           vbtyp LIKE vbrk-vbtyp,      " Document Category
           kunag LIKE vbrk-kunag,      " sold-to-party
           vkorg LIKE vbrk-vkorg,      " sales organization
           vtweg LIKE vbrk-vtweg,      " Distribution Channel
           kunrg LIKE vbrk-kunrg,      " Payer
           fkart_rl LIKE vbrk-fkart_rl," Billing Type
           fkdat LIKE vbrk-fkdat,      " Billing date
           mwsbk LIKE vbrk-mwsbk,      " Tax amount in document currency
           netwr LIKE vbrk-netwr,      " Net value in document currency
           waerk LIKE vbrk-waerk,      " SD document currency
           knumv LIKE vbrk-knumv,      " Number of the document condition
           END OF t_vbrk.
    internal table for Output formatting
    DATA : BEGIN OF t_oput OCCURS 0,
           rbcode(4) TYPE c,                     " Regulating Branch Code
           tpcode(10)  TYPE c,                   " trading partner code
           bdgrp(3) TYPE c,                      " Billing Document Group
           zjd_torihikikubn(3) TYPE c,           "   business transaction
                                                  "category
           tpname1(35) TYPE c,                   " trading partner name 1
           tpname2(35) TYPE c,                   " trading partner name 2
           bdgnm(10) TYPE c,                     " Billing Doc Group Name
           dcode(10) TYPE c,                     " destination code
           dname(35),                            " destination name
           fkdat(10) TYPE c,                     " Date of Issue
           vbeln(10) TYPE c,                     " Billing Doc No
           zzjp_remarks(30) TYPE c,              " Remarks
           ctax(16) TYPE c,                      " Consumption Tax
           tamnt(16) TYPE c,                    " Total Amount
           gtotal(16) TYPE c,                    " Grand total,
           pcode(9) TYPE n,                      " Product Code
           pname(40) TYPE c,                     " Product name
           volume(16) TYPE p decimals 3,          " volume
           volume1 type i,
           volume2(16) type c,
           uprice(13) TYPE c,                    " Unit Price
           amount(16) TYPE c,                    " Amount
           posnr(6) TYPE n,                      " Billing Item
           END OF t_oput.
    *Internal table for Customer Master Sales Data
    DATA : BEGIN OF t_knvv OCCURS 0,
           kunnr LIKE knvv-kunnr, " Customer Number
           vkorg LIKE knvv-vkorg, " Sales Organization
           vtweg LIKE knvv-vtweg, " Distribution Channel
           spart LIKE knvv-spart, " Division
           kvgr2 LIKE knvv-kvgr2, " Customer Group 2
           vkbur LIKE knvv-vkbur, " sales office
           END OF t_knvv.
    *Internal table for Customer Master Data
    DATA : BEGIN OF t_kna1 OCCURS 0,
           kunnr LIKE kna1-kunnr,   " Customer number
           name1 LIKE kna1-name1,   " Customer Name 1
           name2 LIKE kna1-name2,   " Customer Name 2
           END OF t_kna1.
    Internal table used for billing document items
    DATA : BEGIN OF t_vbrp OCCURS 0,
           vbeln LIKE vbrp-vbeln,                       " Billing Document
           posnr LIKE vbrp-posnr,        " Billing item
           zjd_torihikikubn LIKE vbrp-zjd_torihikikubn, " Business
                                                      " Transaction Category
           vgbel LIKE vbrp-vgbel,                   " Document number of the
                                                    "   reference  document
           vgtyp LIKE vbrp-vgtyp,                   " Document category of
                                                    " preceding SD document
           zzjp_remarks LIKE vbrp-zzjp_remarks,     " Remarks
           zjd_kanamei LIKE vbrp-zjd_kanamei,
           fkimg LIKE vbrp-fkimg,                   " Actual billed quantity
           netwr LIKE vbrp-netwr,        " Net value of the
                                         " billing item in document currency
           zjd_touitsumatnr LIKE vbrp-zjd_touitsumatnr,
           END OF t_vbrp.
    Internal table used for Rebate Table
    DATA : BEGIN OF t_zjpv_rebate OCCURS 0,
           fkart LIKE zjpv_rebate-fkart,              " Billing type
           rebate_code LIKE zjpv_rebate-rebate_code,  " Rebate Code
           rebate_name LIKE zjpv_rebate-rebate_name,  " Rebate Name
           END OF t_zjpv_rebate.
    *Internal table used for Delivery Header
    DATA : BEGIN OF t_likp OCCURS 0,
           vbeln LIKE likp-vbeln,    " Delivery  No
           kunnr LIKE likp-kunnr,    " Ship-to party
           END OF t_likp.
    *Internal table for conditions (Transaction Data)
    DATA : BEGIN OF t_konv OCCURS 0,
           knumv LIKE konv-knumv,      " Number of the document condition
           kposn LIKE konv-kposn,      " Condition item number
           kschl LIKE konv-kschl,      " Condition type
           knumh LIKE konv-knumh,      " Condition type
           END OF t_konv.
    Internal table for conditions (Item)
    DATA : BEGIN OF t_konp OCCURS 0,
           knumh LIKE konp-knumh,      " Number of the document condition
           kbetr LIKE konp-kbetr,      " Rate (condition amount or
                                       " percentage) where no scale exists
           konwa LIKE konp-konwa,      " Rate unit (currency or percentage)
           END OF t_konp.
    Internal table for table Torihiki Kubun
    DATA : BEGIN OF t_zjpv_torihiki OCCURS 0,
           kubun LIKE zjpv_torihiki-kubun,      " Condition type
           rep_grp LIKE zjpv_torihiki-rep_grp,   " Shikiri Report Group
           rep_grp_name LIKE zjpv_torihiki-rep_grp_name, " Shikiri Report
                                                         " Group NAME
           END OF t_zjpv_torihiki.
    DATA:  l_tpname1(35) TYPE c,                   " trading partner name 1
           l_tpname2(35) TYPE c,                   " trading partner name 2
           l_bdgnm(10) TYPE c,                     " Billing Doc Group Name
           G_FLG(1)    type c,
           G_FLG1(1)    type c.
              Selection screen                                           *
    SELECTION-SCREEN : BEGIN OF BLOCK zjpv WITH FRAME TITLE text-001.
    PARAMETER : p_date LIKE sy-datum OBLIGATORY. " Delivery date
    SELECTION-SCREEN : END OF BLOCK zjpv.
    RANGES : r_bdate  FOR vbrk-fkdat.             " Billing date
           Initialization                                                *
    INITIALIZATION.
      p_date = sy-datum.
               MAIN PROCESSING                                           *
    START-OF-SELECTION.
    This Perform is used for getting Billing date  According to Delivery
    Date(Output date)
      PERFORM f_bill_date_move.
    Selecting the data from tables VBRK,VBRP,KNVV,KNA1,KONV,KONP,LIKP,
    ZJPV_TORIHIKI and ZJPV_REBATE
      PERFORM f_get_data.
    Passing the data from the internal tables (T_VBRK,T_VBRP,T_KNVV,
    T_KNA1,T_KONV,T_KONP,T_LIKP, T_ZJPV_TORIHIKI and T_ZJPV_REBATE)
    to out put Internal table(T_OPUT)
      PERFORM f_process_data.
              END OF SELECTION                                          *
    END-OF-SELECTION.
    Out put formatting
      PERFORM f_output_data.
    *&      Form  F_Bill_DATE_MOVE
    This Perform is used for getting Billing date  According to Delivery *
    Date(Output date)                                                    *
    FORM f_bill_date_move.
      g_datum = p_date + 10.
      g_month = g_datum+4(2).
      g_year = g_datum+0(4).
      IF g_month = 1.
        g_year = g_year - 1.
        g_month = 12.
        g_date = 1.
      ELSE.
        g_month = g_month - 1.
        g_date = 1.
      ENDIF.
    Passing the date to billing date-low
      CONCATENATE  g_year g_month g_date  INTO g_bill_low.
      r_bdate-low = g_bill_low.
      r_bdate-sign = 'I'.
      r_bdate-option = 'BT'.
      g_month1 = g_datum+4(2).
      g_year1 = g_datum+0(4).
      IF g_month1 = 1.
        g_year1 = g_year1 - 1.
        g_month1 = 12.
      ELSE.
        g_month1 = g_month1 - 1.
      ENDIF.
      CASE g_month1.
        WHEN 1.g_date1 = '31'.
        WHEN 3.g_date1 = '31'.
        WHEN 4.g_date1 = '30'.
        WHEN 5.g_date1 =  '31'.
        WHEN 6.g_date1 = '30'.
        WHEN 7.g_date1 = '31'.
        WHEN 8.g_date1 = '31'.
        WHEN 9.g_date1 = '30'.
        WHEN 10.g_date1 = '31'.
        WHEN 11.g_date1 = '30'.
        WHEN 12.g_date1 = '31'.
      ENDCASE.
      g_year2 = g_year1.
      IF g_month1 = 2.
        g_year2 = g_year2 MOD 4 .
        IF g_year2 = 0.
          g_date1 = 29.
        ELSE.
          g_date1 = 28.
        ENDIF.
      ENDIF.
    Passing the date to billing date-high
      CONCATENATE  g_year1  g_month1  g_date1 INTO g_bill_high.
      r_bdate-high = g_bill_high.
      APPEND r_bdate.
    ENDFORM.                    " F_Bill_DATE_MOVE
    *&      Form  f_get_data
    Selecting the data from tables VBRK,VBRP,KNVV,KNA1,KONV,KONP,LIKP,   *
    ZJPV_TORIHIKI and ZJPV_REBATE                                        *
    FORM f_get_data.
    Selecting the data from VBRK into internal table T_VBRK.
      SELECT   vbeln
               vbtyp
               kunag
               vkorg
               vtweg
               kunrg
               fkart_rl
               fkdat
               mwsbk
               netwr
               waerk
               knumv
               FROM vbrk
               INTO TABLE t_vbrk
               WHERE fkdat BETWEEN r_bdate-low and r_bdate-high
                     and RFBSK = C_RFBSK
                     AND  vbtyp IN ('N' , 'S' , 'M' , 'O' , 'P')
                     AND vkorg = c_vkorg
                     AND vtweg = c_vtweg
                     AND netwr <> 0.
      IF sy-subrc Eq 0.
        sort t_vbrk.
      ENDIF.
    Selecting the data from KNVV into internal table T_KNVV.
      SELECT kunnr
             vkorg
             vtweg
             spart
             kvgr2
             vkbur
             FROM knvv
             INTO TABLE t_knvv
             FOR ALL ENTRIES IN t_vbrk WHERE ( kunnr = t_vbrk-kunag
                                       OR    kunnr = t_vbrk-kunrg )
                                       AND   vkorg = t_vbrk-vkorg
                                       AND   vtweg = t_vbrk-vtweg
                                       AND   spart = c_spart
                                       AND   kvgr2 = c_kvgr2.
    Selecting the data from VBRP into internal table T_VBRP.
      SELECT vbeln
             posnr
             zjd_torihikikubn
             vgbel
             vgtyp
             zzjp_remarks
             zjd_kanamei
             fkimg
             netwr
             zjd_touitsumatnr
             FROM vbrp
             INTO TABLE  t_vbrp
             FOR ALL ENTRIES IN t_vbrk
             WHERE vbeln = t_vbrk-vbeln.
    Selecting the data from ZJPV_REBATE into internal table T_ZJPV_REBATE.
      SELECT fkart
             rebate_code
             rebate_name
             FROM zjpv_rebate
             INTO TABLE t_zjpv_rebate
             FOR ALL ENTRIES IN t_vbrk
             WHERE fkart = t_vbrk-fkart_rl.
    Selecting the data from KNA1 into internal table T_KNA1.
      SELECT kunnr
             name1
             name2
             FROM kna1
             INTO TABLE t_kna1
             FOR ALL ENTRIES IN t_knvv
             WHERE kunnr = t_knvv-kunnr.
      IF NOT t_vbrp[] IS INITIAL.
    Selecting the data from LIKP into internal table T_LIKP.
        SELECT vbeln
               kunnr
               FROM likp
               INTO TABLE t_likp
               FOR ALL ENTRIES IN t_vbrp
               WHERE vbeln = t_vbrp-vgbel.
      ENDIF.
    Selecting the data from KONV into internal table T_KONV.
      SELECT knumv
             kposn
             kschl
             knumh
             FROM konv
             INTO TABLE t_konv
             FOR ALL ENTRIES IN t_vbrk
             WHERE knumv = t_vbrk-knumv
             AND   kschl = c_kschl.
    Selecting the data from KONP into internal table T_KONP.
      SELECT knumh
             kbetr
             konwa
             FROM konp
             INTO TABLE t_konp
             FOR ALL ENTRIES IN t_konv
             WHERE knumh = t_konv-knumh.
    Selecting the data from ZJPV_TORIHIKI into internal table
    T_ZJPV_TORIHIKI.
      SELECT kubun
             rep_grp
             rep_grp_name
             FROM zjpv_torihiki
             INTO TABLE t_zjpv_torihiki
             FOR ALL ENTRIES IN t_vbrp
             WHERE kubun = t_vbrp-zjd_torihikikubn.
    ENDFORM.                    " f_get_data
    *&      Form  f_process_data
    Reading The Data from Internal tables (T_VBRK,T_VBRP,T_KNVV,T_KNA1,  *
    T_LIKP,T_KONV,T_KONP,T_ZJPV_REBATE and T_ZJP_TORIHIKI)               *
    FORM f_process_data.
    Sorting the internal table t_kna1, t_vbrk, t_vbrp ,t_knvv,t_kna1,
    t_likp and t_zjpv_rebate
      SORT: t_kna1 BY kunnr,
            t_vbrk BY vbeln,
            t_vbrp BY vbeln,
            t_knvv BY kunnr,
            t_zjpv_rebate BY fkart,
            t_knvv BY kunnr vkorg vtweg spart,
            t_likp BY vbeln.
      LOOP AT t_vbrk.
    Reading the data from internal table t_knvv
        READ TABLE t_knvv WITH KEY kunnr = t_vbrk-kunag
                                     vkorg = t_vbrk-vkorg
                                     vtweg = t_vbrk-vtweg
                                     spart = c_spart
                                     kvgr2 = c_kvgr2.
        IF sy-subrc NE 0.
          g_flg = 'X'.
        ENDIF.
    Reading the data from internal table t_knvv
        READ TABLE t_knvv WITH KEY kunnr = t_vbrk-kunrg
                                    vkorg = t_vbrk-vkorg
                                    vtweg = t_vbrk-vtweg
                                    spart = c_spart
                                    kvgr2 = c_kvgr2.
        IF sy-subrc NE 0.
          G_FLG1 = 'X'.
        ENDIF.
        IF G_FLG = 'X' AND G_FLG1 = 'X'.
          DELETE T_VBRK.
          CLEAR: G_FLG, G_FLG1.
          CONTINUE.
        ENDIF.
      ENDLOOP.
      DATA :  l_sign(1) TYPE c VALUE '-',
              l_ctax(15) TYPE n ,
              l_tamnt(15) TYPE n ,
              l_volume(16) TYPE c,
              l_gtotal(15) TYPE n,
              l_amnt(15) TYPE n.
      SORT t_konv BY knumv kposn kschl.
      SORT t_konp BY knumh.
      LOOP AT t_vbrp.
        READ TABLE t_vbrk WITH KEY vbeln = t_vbrp-vbeln.
        IF sy-subrc <> 0.
          DELETE t_vbrp.
          CONTINUE.
        ENDIF.
    Reading the data from Internal table T_zjpv_rebate(Rebate table)
        READ TABLE t_zjpv_rebate WITH KEY
                            fkart = t_vbrk-fkart_rl
                            BINARY SEARCH.
        IF sy-subrc NE 0 OR t_vbrk-fkart_rl EQ c_fkart.
          MOVE t_vbrk-kunag TO t_oput-tpcode.
        ELSE .
          IF t_vbrk-fkart_rl NE c_fkart.
            MOVE t_vbrk-kunrg TO t_oput-tpcode.
          ENDIF.
        ENDIF.
        READ TABLE t_zjpv_rebate WITH KEY
                            fkart = t_vbrk-fkart_rl
                            BINARY SEARCH.
        IF sy-subrc NE 0.
    Passing the last 6 values of ZJD_TOUITSUMANTR into product code.
          MOVE t_vbrp-zjd_touitsumatnr+3(6) TO t_oput-pcode.
          MOVE t_vbrp-zjd_kanamei TO t_oput-pname.
        ELSE.
          MOVE t_zjpv_rebate-rebate_code+3(6) TO t_oput-pcode.
          MOVE t_zjpv_rebate-rebate_name TO t_oput-pname.
        ENDIF.
    Reading the data from Internal table T_KNA1(Customer Master)
        READ TABLE t_kna1 WITH KEY
                     kunnr = t_oput-tpcode BINARY SEARCH.
        IF sy-subrc = 0.
          MOVE t_kna1-name1 TO t_oput-tpname1.
          MOVE t_kna1-name2 TO t_oput-tpname2.
        ENDIF.
    Reading the data from Internal table T_vbrp(Billing Documnet: Item)
        MOVE t_vbrp-zjd_torihikikubn TO t_oput-zjd_torihikikubn.
    Reading the data from Internal table T_KNVV
        READ TABLE t_knvv WITH KEY kunnr = t_vbrk-kunrg
                                   vkorg = c_vkorg
                                   vtweg = c_vtweg
                                   spart = c_spart
                                   BINARY SEARCH.
        IF sy-subrc EQ 0.
          MOVE t_knvv-vkbur TO t_oput-rbcode.
        ENDIF.
    Reading the data from Internal table T_LIKP (Delivery : Header)
        IF  t_vbrp-vgtyp =  'J' OR t_vbrp-vgtyp = 'T'.
          READ TABLE t_likp WITH KEY
                        vbeln = t_vbrp-vgbel
                        BINARY SEARCH.
          IF sy-subrc = 0.
            MOVE t_likp-kunnr TO t_oput-dcode.
          ENDIF.
        ENDIF.
    Reading the data from Internal table T_KNA1.
        READ TABLE t_kna1 WITH KEY kunnr = t_likp-kunnr BINARY SEARCH.
        IF sy-subrc = 0 AND NOT t_oput-dcode IS INITIAL.
          MOVE t_kna1-name2 TO t_oput-dname.
        ENDIF.
    *Passing the values from internal table t_vbrk and t_vbrp to
    *out put internal table.
        MOVE t_vbrk-fkdat TO t_oput-fkdat.
        CONCATENATE t_oput-fkdat0(4) '.' t_oput-fkdat4(2) '.'
            t_oput-fkdat+6(2) INTO t_oput-fkdat.
        MOVE t_vbrk-vbeln TO t_oput-vbeln.
        MOVE t_vbrp-posnr TO t_oput-posnr.
        MOVE t_vbrp-zzjp_remarks TO t_oput-zzjp_remarks.
    *Checking for billing document category.
        IF t_vbrk-vbtyp = 'M' OR t_vbrk-vbtyp = 'P' OR t_vbrk-vbtyp = 'S'.
          IF t_vbrk-waerk = c_waerk.
            t_oput-ctax = t_vbrk-mwsbk * 100.
            t_oput-tamnt = t_vbrk-netwr * 100.
            t_oput-gtotal = t_oput-ctax + t_oput-tamnt.
          ELSE.
            t_oput-ctax = t_vbrk-mwsbk .
            t_oput-tamnt = t_vbrk-netwr.
            t_oput-gtotal = t_oput-ctax + t_oput-tamnt.
          ENDIF.
        ENDIF.
        IF t_vbrk-vbtyp = 'O' OR  t_vbrk-vbtyp = 'N' .
          IF t_vbrk-waerk = c_waerk.
            l_ctax = ( t_vbrk-mwsbk * 100 ) .
    *The contents of the consumption tax are converted to display format.
            PERFORM F_ALPHA_CONV USING L_CTAX.
            CONCATENATE l_sign l_ctax INTO t_oput-ctax.
            CONDENSE t_oput-ctax.
            l_tamnt  = ( t_vbrk-netwr * 100 ).
    *The contents of the total amount are converted to display format.
            PERFORM F_ALPHA_CONV USING L_TAMNT.
            CONCATENATE l_sign l_tamnt INTO t_oput-tamnt.
            CONDENSE t_oput-tamnt.
            l_gtotal = t_oput-ctax + t_oput-tamnt.
    *The contents of the grand total are converted to display format.
            PERFORM F_ALPHA_CONV USING L_GTOTAL.
            CONCATENATE l_sign l_gtotal INTO t_oput-gtotal.
          ELSE.
            l_ctax = t_vbrk-mwsbk.
    *The contents of the consumption tax are converted to display format.
            PERFORM F_ALPHA_CONV USING L_CTAX.
            CONCATENATE l_sign l_ctax INTO t_oput-ctax.
            l_tamnt = ( t_vbrk-netwr ).
    *The contents of the total amount are converted to display format.
            PERFORM F_ALPHA_CONV USING L_TAMNT.
            CONCATENATE l_sign l_tamnt INTO t_oput-tamnt.
            l_gtotal =  ( t_oput-ctax + t_oput-tamnt ).
    *The contents of the grand total are converted to display format.
            PERFORM F_ALPHA_CONV USING L_GTOTAL.
            CONCATENATE l_sign l_gtotal INTO t_oput-gtotal.
          ENDIF.
        ENDIF.
    Comparing the volume with given conditions.
        IF t_vbrp-fkimg EQ 0.
          t_oput-volume = space.
        ELSEIF t_vbrp-fkimg NE 0.
         IF t_vbrk-vbtyp = 'M' OR  t_vbrk-vbtyp = 'P' OR t_vbrk-vbtyp = 'S'.
            t_oput-volume = t_vbrp-fkimg.
            CALL FUNCTION 'ROUND'
                 EXPORTING
                      DECIMALS      = 3
                      input         = t_oput-volume
                      SIGN          = ' '
                 IMPORTING
                      OUTPUT        = t_oput-volume1
                 EXCEPTIONS
                      INPUT_INVALID = 1
                      OVERFLOW      = 2
                      TYPE_INVALID  = 3
                      OTHERS        = 4.
            IF sy-subrc <> 0.
             MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
            ENDIF.
            move t_oput-volume1 to t_oput-volume2.
            condense t_oput-volume2 no-gaps.
          ELSEIF t_vbrk-vbtyp = 'O' OR  t_vbrk-vbtyp = 'N'.
            t_oput-volume = t_vbrp-fkimg.
            CALL FUNCTION 'ROUND'
                 EXPORTING
                      DECIMALS      = 3
                      input         = t_oput-volume
                      SIGN          = ' '
                 IMPORTING
                      OUTPUT        = t_oput-volume1
                 EXCEPTIONS
                      INPUT_INVALID = 1
                      OVERFLOW      = 2
                      TYPE_INVALID  = 3
                      OTHERS        = 4.
            IF sy-subrc <> 0.
             MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
            ENDIF.
            l_volume = t_oput-volume1.
    *The contents of the volume are converted to display format.
            PERFORM F_ALPHA_CONV USING L_VOLUME.
            CONCATENATE l_sign l_volume INTO t_oput-volume2.
            condense t_oput-volume2 no-gaps.
          ENDIF.
        ENDIF.
    *Unit price
        IF t_vbrp-fkimg EQ 0.
          t_oput-uprice = space.
        ELSE.
    Reading The data from Internal Table T_KONV(Condition :Transactional)
          READ TABLE t_konv WITH KEY   knumv = t_vbrk-knumv
                                       kposn = t_vbrp-posnr
                                       kschl = c_kschl
                                       BINARY SEARCH.
          IF sy-subrc = 0.
    Reading The data from Internal Table T_KONP(Condition : Items)
            READ TABLE t_konp WITH KEY
                    knumh = t_konv-knumh
                    BINARY SEARCH.
            IF sy-subrc = 0.
              IF t_konp-konwa = c_konwa.
                t_oput-uprice = 100 * t_konp-kbetr.
              ELSE.
                t_oput-uprice = t_konp-kbetr.
              ENDIF.
            ENDIF.
          ENDIF.
        ENDIF.
    Caluculating the amount with given conditions
        IF t_zjpv_rebate-fkart = t_vbrk-fkart_rl.
          t_oput-amount = t_vbrk-netwr.
        ELSE.
          t_oput-amount = t_vbrp-netwr.
        ENDIF.
        IF t_vbrk-waerk EQ c_waerk.
          t_oput-amount =  100 * t_oput-amount.
        ENDIF.
        IF t_vbrk-vbtyp ='M' OR t_vbrk-vbtyp = 'P' OR
                               t_vbrk-vbtyp  = 'S'.
        ELSE.
          IF t_vbrk-vbtyp  = 'O' OR t_vbrk-vbtyp = 'N'.
            IF t_oput-amount+15(1) = l_sign.
              l_amnt = t_oput-amount+0(15).
              PERFORM F_ALPHA_CONV USING L_AMNT.
              CONCATENATE l_sign l_amnt INTO t_oput-amount.
            ELSE.
              l_amnt = t_oput-amount.
              PERFORM F_ALPHA_CONV USING L_AMNT.
              CONCATENATE l_sign l_amnt INTO t_oput-amount.
            ENDIF.
          ENDIF.
        ENDIF.
    Reading the data from Internal Table T_ZPV_TORIHIKI
        READ TABLE t_zjpv_torihiki WITH KEY
                   kubun = t_vbrp-zjd_torihikikubn
                   BINARY SEARCH.
        IF sy-subrc = 0.
          t_oput-bdgrp = t_zjpv_torihiki-rep_grp.
          t_oput-bdgnm = t_zjpv_torihiki-rep_grp_name.
        ENDIF.
        APPEND t_oput.
    Clearing the memory of the internal tables.
        CLEAR: t_oput,
               t_vbrp,
               t_vbrk,
               t_kna1,
               t_knvv,
               t_zjpv_rebate,
               t_zjpv_torihiki,
               t_likp,
               t_konv,
               t_konp.
      ENDLOOP.
    ENDFORM.                    " f_process_data
    *&      Form  f_output_data
          Output formatting
    FORM f_output_data.
    SORT t_oput BY rbcode
                    tpcode
                    bdgrp
                    fkdat
                    zjd_torihikikubn
                    vbeln
                    posnr.
      DATA : l_volume(5) TYPE c,
             l_ctax(8) TYPE c.
      MOVE t_oput-volume TO l_volume.
      MOVE t_oput-ctax TO l_ctax.
      DATA : l_ctax1(16) ,
             l_ctax2(16),
             l_vol1(14) ,
             l_vol3(8),
             l_vol2(14),
             l_tamt1(16),
             l_tamt2(16),
             l_gtotal1(16),
             l_gtotal2(16),
             l_uprice1(16),
             l_uprice2(16),
             l_amount1(16) TYPE c,
             l_amount2(16) TYPE c,
             l_fctax1(16) TYPE c,
             l_fctax2(16) TYPE c,
             l_ftamt1(16) TYPE c,
             l_ftamt2(16) TYPE c,
             l_ftotal1(16) TYPE c,
             l_ftotal2(16) TYPE c,
             l_sign(1) TYPE c VALUE '-'.
      CONSTANTS c_minus VALUE '-'.
      SORT t_konv BY knumv kposn kschl.
      SORT t_oput BY zjd_torihikikubn vbeln posnr.
    Printing Final Values.
      LOOP AT t_oput.
    Perform F_FORMAT_SUBTOTAL is used to align the value with the commas
    for display purpose.
        L_CTAX2 = T_OPUT-CTAX.
        G_CTAX2 = T_OPUT-CTAX.
        PERFORM F_FORMAT_SUBTOTAL USING G_CTAX2
                                        C_CONS_8.
        CONDENSE T_OPUT-CTAX.
    Perform F_FORMAT_SUBTOTAL is used to align the value with the commas
    for display purpose.
        L_TAMT2 = T_OPUT-TAMNT.
        G_TAMT2 = T_OPUT-TAMNT.
        PERFORM F_FORMAT_SUBTOTAL USING G_TAMT2
                                        C_CONS_10.
        CONDENSE T_OPUT-TAMNT.
    Perform F_FORMAT_SUBTOTAL is used to align the value with the commas
    for display purpose.
        L_GTOTAL2 = T_OPUT-GTOTAL.
        G_GTOTAL2 = T_OPUT-GTOTAL.
        PERFORM F_FORMAT_SUBTOTAL USING G_GTOTAL2
                                        C_CONS_10.
        CONDENSE T_OPUT-GTOTAL.
    Perform F_FORMAT_SUBTOTAL is used to align the value with the commas
    for display purpose.
    *Volume
        IF t_oput-volume >= 99999 OR t_oput-volume <= -99999.
          t_oput-volume = space.
        ELSE.
          l_vol1 = t_oput-volume.
          l_vol2 = t_oput-volume.
          CONDENSE l_vol1.
          CONDENSE l_vol2.
          IF  l_vol1+0(1) EQ '-'.
            REPLACE '-' WITH space INTO  l_vol1.
          ENDIF.
          CONDENSE l_vol1.
          WRITE l_vol1 TO g_vol RIGHT-JUSTIFIED.
          REPLACE '.' WITH ',' INTO l_vol1.
    write :85 l_vol1.
          IF NOT g_vol+0(2) IS  INITIAL.
            g_vol10(2) = g_vol0(2).
            g_vol1+2(1) = ','.
          ENDIF.
          IF NOT g_vol+2(3) IS  INITIAL.
            g_vol13(3) = g_vol2(3).
          ENDIF.
    replace '.' with ',' into t_oput-volume.
          l_vol2 = t_oput-volume.
          IF  l_vol2+0(1) EQ '-'.
            g_vol2 = g_vol1 .
            CONDENSE g_vol2.
            CONCATENATE c_minus g_vol2 INTO g_vol2.
          ELSE.
            g_vol2 = g_vol1 .
            CONDENSE g_vol2.
          ENDIF.
        ENDIF.
    L_VOL1 = T_OPUT-VOLUME.
    PERFORM F_FORMAT_SUBTOTAL USING L_VOL1
                                     C_CONS_5.
    CONDENSE L_VOL1.
    Unit Price
        IF t_oput-uprice >= 99999999 OR t_oput-uprice <= -99999999.
          t_oput-uprice = space.
        ELSE.
          l_uprice1 = t_oput-uprice .
          l_uprice2 = t_oput-uprice.
          CONDENSE l_uprice1.
          CONDENSE l_uprice2.
          IF  l_uprice1+0(1) EQ '-'.
            REPLACE '-' WITH space INTO  l_uprice1.
          ENDIF.
          CONDENSE l_uprice1.
          WRITE l_uprice1 TO g_uprice RIGHT-JUSTIFIED.
          IF NOT g_uprice+0(2) IS  INITIAL.
            g_uprice10(2) = g_uprice0(2).
            g_uprice1+2(1) = ','.
          ENDIF.
          IF NOT g_uprice+2(3) IS  INITIAL.
            g_uprice13(3) = g_uprice2(3).
            g_uprice1+6(1) = ','.
          ENDIF.
          IF NOT g_uprice+5(3) IS  INITIAL.
            g_uprice17(3) = g_uprice5(3).
          ENDIF.
          IF  l_uprice2+0(1) EQ '-'.
            g_uprice2 = g_uprice1 .
            CONDENSE g_uprice2.
            CONCATENATE c_minus g_uprice2 INTO g_uprice2.
          ELSE.
            g_uprice2 = g_uprice1 .
            CONDENSE g_uprice2.
          ENDIF.
        ENDIF.
    Amount
        IF t_oput-amount >= 99999999 OR t_oput-amount <= -99999999 .
          t_oput-amount = space.
        ELSE.
          l_amount1 = t_oput-amount.
          l_amount2 = t_oput-amount.
          CONDENSE l_amount1.
          CONDENSE l_amount2.
          IF  l_amount1+0(1) EQ '-'.
            REPLACE '-' WITH space INTO  l_amount1.
          ENDIF.
          CONDENSE l_amount1.
          WRITE l_amount1 TO g_amount RIGHT-JUSTIFIED.
          IF NOT g_amount+0(1) IS  INITIAL.
            g_amount0(1) = g_amount0(1).
            g_amount1+1(1) = ','.
          ENDIF.
          IF NOT g_amount+1(3) IS  INITIAL.
            g_amount12(3) = g_amount1(3).
            g_amount1+5(1) = ','.
          ENDIF.
          IF NOT g_amount+4(3) IS  INITIAL.
            g_amount16(3) = g_amount4(3).
            g_amount1+9(1) = ','.
          ENDIF.
          IF NOT g_amount+7(3) IS  INITIAL.
            g_amount110(3) = g_amount7(3).
          ENDIF.
          IF  l_amount2+0(1) EQ '-'.
            g_amount2 = g_amount1 .
            CONDENSE g_amount2.
            CONCATENATE c_minus g_amount2 INTO g_amount2.
          ELSE.
            g_amount2 = g_amount1 .
            CONDENSE g_amount2.
          ENDIF.
        ENDIF.
       NEW-PAGE.
        MOVE t_oput-tpname1 TO l_tpname1.
        MOVE t_oput-tpname2 TO l_tpname2.
        MOVE t_oput-bdgnm   TO l_bdgnm.
        AT NEW bdgrp.
          IF t_oput-rbcode CO '*'.
            t_oput-rbcode = space.
          ENDIF.
          IF t_oput-tpcode CO '*'.
            t_oput-tpcode = space.
          ENDIF.
          IF t_oput-tpname1 CO '*'.
            t_oput-tpname1 = space.
          ENDIF.
          IF t_oput-tpname2 CO '*'.
            t_oput-tpname2 = space.
          ENDIF.
          IF t_oput-bdgnm CO '*'.
            t_oput-bdgnm = space.
          ENDIF.
          PERFORM f_write_heading.
        ENDAT.
        AT NEW vbeln.
          IF sy-linno = 35 OR sy-linno = 1.
            NEW-PAGE.
            PERFORM f_write_heading.
            WRITE:/6 t_oput-fkdat , 18 t_oput-dcode+3(7) ,
                   28 t_oput-vbeln+2(8) ,
                   37 t_oput-dname+0(20) .
          ELSE.
            WRITE:/6 t_oput-fkdat , 18 t_oput-dcode+3(7) ,
                   28 t_oput-vbeln+2(8) ,
                   37 t_oput-dname+0(20) .
          ENDIF.
        ENDAT.
       WRITE:/6 t_oput-fkdat, 18 t_oput-dcode+3(7),
              28 t_oput-vbeln+2(8),
              37 t_oput-dname+0(20).
        IF sy-linno = 35 OR sy-linno = 1.
          NEW-PAGE.
          PERFORM f_write_heading.
             CONDENSE L_VOL1 NO-GAPS.
          MOVE l_vol1 TO l_vol3.
          WRITE:/6 t_oput-fkdat , 18 t_oput-dcode+3(7) ,
                 28 t_oput-vbeln+2(8) ,
                 37 t_oput-dname+0(20) .
          WRITE:/39 t_oput-pcode+3(6) ,
                 50 t_oput-pname+0(25) ,
                 79 t_oput-zjd_torihikikubn ,
                 85 t_oput-volu

  • How to make Collapsible scrren thru Report Program

    Hi Experts,
    I have a report program, In the selection screen i have 15 check box. But the requirement is we need 5 + 5 + 5 in a collapsible format.
    If the user clicks the left corner it should open the 5 check box.
    Anyone having the knowledge of this kindly share the logic so its easy for me to build the same.
    Thanx in advance.
    Mohana

    Hi try this...
    The code is for the radio button, but if you use this code with a button it will work for your issue.
    use        
            screen-INVISIBLE = '1'.
            istead of screen-input = 0.
    REPORT  ztest.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-003.
    *           Order Documents
    PARAMETERS: rb_view RADIOBUTTON GROUP gr1 DEFAULT 'X' USER-COMMAND ucomm,
                rb_ins  RADIOBUTTON GROUP gr1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-002.
    PARAMETERS:  pagente TYPE zzagente MATCHCODE OBJECT zagent_get MODIF ID sc1,
                 pdat_in TYPE crmt_posting_date MODIF ID sc1 DEFAULT sy-datum,
                 pdat_fin TYPE crmt_posting_date MODIF ID sc1,
                 pbud_om TYPE crmt_net_value_*** MODIF ID sc1,
                 p_datl TYPE crmt_posting_date MODIF ID sc3,
                 p_last TYPE crmt_net_value_*** MODIF ID sc3.
    SELECTION-SCREEN END OF BLOCK b3.
    SELECTION-SCREEN END OF BLOCK b1.
    AT SELECTION-SCREEN OUTPUT.
      PERFORM at_selection_screen.
    *&      Form  AT_SELECTION_SCREEN
    *       text
    *  -->  p1        text
    *  <--  p2        text
    form AT_SELECTION_SCREEN .
    IF rb_view = 'X'.
        LOOP AT SCREEN.
          IF screen-group1 = 'SC1'.
            screen-input = 0.
            screen-INVISIBLE = '1'.
            MODIFY SCREEN.
          ENDIF.
          IF screen-group1 = 'SC3'.
            screen-input = 0.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
      ELSEIF rb_ins = 'X'.
        LOOP AT SCREEN.
          IF screen-group1 = 'SC2'.
            screen-input = 0.
            MODIFY SCREEN.
          ENDIF.
          IF screen-group1 = 'SC3'.
            screen-input = 0.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
      ENDIF.
    endform.                    " AT_SELECTION_SCREEN
    Edited by: Menegazzo Marco on Sep 7, 2010 10:41 AM

  • REPORT/PROGRAM statement missing, or program type is INCLUDE error upgrade.

    Hi Experts,
    I have done the recording for FK05 and created functionmodule for the same. But when I use that function module in my custom program or if I try directly execute the FM, I am getting dump like syntax error. So I did syntax check and tried to activate, I am getting "REPORT/PROGRAM statement missing, or program type is INCLUDE error upgrade" error.
    Please help me soon to resolve this issue.
    Thanks in advance.
    Shreyansh

    Hi
    Goto main function group include name attributes tab and double click.
    once the include is opened, try to activate it. if shows errors then fix.
    regards
    Shiva

  • Error generating report - Program was terminated by signal 11

    Hi All,
    I am very new to XML Publisher reports and I am facing the following issue in a report - Program was terminated by signal 11
    I created the data model in RDF and for this I created the corresponding RTF file.
    When I see the preview of this RTF file in excel it was perfect without any issues, but when i tried running the report from the application, it gave me the error- 'Program was terminated by signal 11'.
    Log file is as follows -
    +-----------------------------
    | Starting concurrent program execution...
    +-----------------------------
    Arguments
    ORG_CODE='076'
    FROM_DATE='2009/02/25 00:00:00'
    TO_DATE='2009/02/25 00:00:00'
    APPLLCSP Environment Variable set to :
    XML_REPORTS_XENVIRONMENT is :
    /ehanoi/product/806/guicommon6/tk60/admin/Tk2Motif_UTF8.rgb
    XENVIRONMENT is set to /ehanoi/product/806/guicommon6/tk60/admin/Tk2Motif_UTF8.rgb
    Current NLS_LANG and NLS_NUMERIC_CHARACTERS Environment Variables are :
    _AMERICA.UTF8
    stat_low = B
    stat_high = 0
    emsg:was terminated by signal 11
    Start of log messages from FND_FILE
    End of log messages from FND_FILE
    Program was terminated by signal 11
    Concurrent Manager encountered an error while running Oracle*Report for your concurrent request 23608833.
    Review your concurrent request log and/or report output file for more detailed information.
    Please can anyone help me with this.
    Regards,
    Shruti

    Hi;
    Search as in metalink emsg:was terminated by signal 11,there are 28 docs avaliable, i am posting someof them.
    Please check below notes which could be helpful for your issue:
    Report Fails To Produce Bitmap Reports After Patchset 19 . Emsg:Was Terminated By Signal 11 [ID 759456.1]
    FVXYECER.RDF Program Was Terminated By Signal 11 [ID 730100.1]
    T4A PDF PROCESS FAILING WITH SIGNAL 11 [ID 1078950.1]
    Regard
    Helios

  • How to keep the field open for input with error message in report program

    Hi,
      Need a help in solving the below issue.
    "How to keep the field open for input with error message in report program"
    Regards,
    C.Shasiraj.

    Hi...
    you have to use the event:
    <b>AT SELECTION-SCREEN ON <FIELD> EVENT.</b>
    u have to give an error message in this event.
    Consider the following <b>Example:</b>
    <b>PARAMETERS : NUMBER TYPE I.
    AT SELECTION-SCREEN ON NUMBER.
      IF NUMBER = 10.
        MESSAGE 'Number vakue is 10' TYPE 'E'.
      ENDIF.
    START-OF-SELECTION.
      WRITE NUMBER.
    </b>
    in this if u give the value of number = 10, it will not proceed further, if u give some other value other than 10 you will proceed further...
    Execute this program once u will understand....
    also Consider the following links :
    <b>Regarding events:</b>
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/79/34a237d9b511d1950e0000e8353423/frameset.htm
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/79/34a23ad9b511d1950e0000e8353423/frameset.htm
    <b>Regarding messages:</b>
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/c5/aa575426ad11d2954d0000e8353423/frameset.htm
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/c5/aa575426ad11d2954d0000e8353423/frameset.htm
    This is very useful.......
    Reward points if useful....
    Suresh....

  • TABLES statement in report program

    Hi,
    Is there any performance issue in using TABLES statement in report program? Because I have got an review point from QA insisting me to avoid TABLES statement. Is it recommended by SAP to avoid TABLES statement in report program?
    Thanks in advance.
    Regards,
    Balaji Viswanath.

    Balaji,
    If you use TABLE statement it will provide the work area of the given table.
    EX: Decalre  any fields of table in slection scereen
    without declarin g the tabel name in TAble statement.It will give error.
    This will give error.
    SELECT-OPTIONS : s_matnr LIKE MARA-matnr.
    This will work.
    TABLES: mara.
    SELECT-OPTIONS : s_matnr LIKE MARA-matnr.
    It means it will occupy some area.
    Don't forget to reward if useful.

  • Problem with tab strip in report programing

    hi,
    I have coded 4 tab strips in a report program.Each tab has some obligatory fields.
    My requirement is user must fill all obligatory fields.
    suppose if I enter values only one tab and execute , its not asking the obligatory fields in other tabs.may be this is the behaviour of tab strips.
    To check the obligatory fields,I  wrote cheks in at selection screen with error message.In this case, suppose I didnt enter values in 2nd tab, the error message is coming under 1st tab screen and I am not able to select the 2nd tab.
    Can any body tells me how to overcome this issu.
    pavan meda

    Hi,
    Check this example..
    Basically you have to check the sy-ucomm not equal to the tab button function code (marked in bold)....
    Note: The only thing is I have to press the second button twice to get to the second tab..But it works..
    SELECTION-SCREEN BEGIN OF TABBED BLOCK tb1 FOR 10 LINES.
    SELECTION-SCREEN TAB (30) tab1  USER-COMMAND tab1  DEFAULT SCREEN 1001.
    SELECTION-SCREEN TAB (30) tab2  USER-COMMAND tab2  DEFAULT SCREEN 1002.
    SELECTION-SCREEN END OF BLOCK tb1.
    SELECTION-SCREEN BEGIN OF SCREEN 1001 AS SUBSCREEN.
    PARAMETERS: p_1 TYPE matnr.
    SELECTION-SCREEN END OF SCREEN 1001.
    SELECTION-SCREEN BEGIN OF SCREEN 1002 AS SUBSCREEN.
    PARAMETERS: p_2 TYPE kunnr.
    SELECTION-SCREEN END OF SCREEN 1002.
    INITIALIZATION.
      tab1 = 'Material'.
      tab2 = 'Customer'.
    AT SELECTION-SCREEN.
    <b>  CHECK sy-ucomm <> 'TAB1' AND sy-ucomm <> 'TAB2'.</b>
      IF p_1 IS INITIAL.
        MESSAGE e000 WITH 'Required entry'.
      ENDIF.
      IF p_2 IS INITIAL.
        MESSAGE e000 WITH 'Required entry'.
      ENDIF.
    START-OF-SELECTION.
      WRITE: / p_1.
      WRITE: / p_2.
    Thanks,
    Naren

  • Converting SAP Query to Report Program

    Hello Experts,
    I'm stuck up with an issue.
    I want to convert SAP query into a report program as the things which I need to implement is not possible with SAP Query anymore.
    So I need to convert SAP query to Report program.
    I'm very much aware about the SQ01--> Query --> More functions --> Display Report Program
    But this Report Program generates is AQ..................... but if you see the code there will be buch of dynamic calls not as clear as ABAP code and not much flexibility to modify...
    Please Provide a solution to this.
    Regards,
    Titiksha

    Hi Bhange,
    Glen Anthony has said very well and I support him. Even I suggest you to ignor the report generated with Query and develop a new report with the required business logic.
    Regards,
    Vijay

  • Code help in writing a report Program

    Hello experts
    i was asked to write a report program with the following requirements,(This is to address the pricing issues KSE(company code A ) is facing with KST(another company code B) for S-Bank program(an important program we use it in SD)
    cananyone help with the code.? atlease a skeleton to start the program is highly appreciated.
    requirements..
    Selection Parameters
    Material
    Sold to party
    Sales Org
    Plant
    Sales order
    Actual goods movement dates
    Invoice number
    Sales order
    Report
    -Should detail only the Sbank scopes (all FERT’s beginning with S*)
    -Detail by line items
    -Material number
    -Serial number of device shipped
    -Serial number from SBANK_SERIAL_NUMBER characteristic in KSE_SN_ENDOSCOPES class contained in name plate data
    -Delivery number
    -Invoice number
    -Invoice price
    -Notification number
    -KST Repair level (coding field in notification)
    -KSE Repair level (activity code text from KSE-SM07 code group)
    Thanks
    SP

    Hello experts
    i was asked to write a report program with the following requirements,(This is to address the pricing issues KSE(company code A ) is facing with KST(another company code B) for S-Bank program(an important program we use it in SD)
    cananyone help with the code.? atlease a skeleton to start the program is highly appreciated.
    requirements..
    Selection Parameters
    Material
    Sold to party
    Sales Org
    Plant
    Sales order
    Actual goods movement dates
    Invoice number
    Sales order
    Report
    -Should detail only the Sbank scopes (all FERT’s beginning with S*)
    -Detail by line items
    -Material number
    -Serial number of device shipped
    -Serial number from SBANK_SERIAL_NUMBER characteristic in KSE_SN_ENDOSCOPES class contained in name plate data
    -Delivery number
    -Invoice number
    -Invoice price
    -Notification number
    -KST Repair level (coding field in notification)
    -KSE Repair level (activity code text from KSE-SM07 code group)
    Thanks
    SP

  • Help needed in report programming

    Hi All
    I am processing some data on first screen of a report transaction and an output is displayed on second screen. My requirement is that when I press back, I have to come to SAP initial screen.
    I have tried all options with 'LEAVE'. Problem is that control doesnt come even once in report, it goes into some standard code so I am unable to make changes..
    Kindly help.
    Thanks
    Dinesh
    <LOCKED BY MODERATOR - USE APPROPRIATE TITLES>
    <LOCKED BY MODERATOR - URGENT, PLEASE HELP OR SIMILAR ARE FORBIDDEN>
    Edited by: Alvaro Tejada Galindo on Aug 18, 2008 5:17 PM

    Hi,
    Since it is a report program. U have to set PF status in ur output page (either ALV or any other output format).
    In GUI status, triger the function code for BACK.
    Then, inside the event AT USER-COMMAND, code LEAVE PROGRAM for the BACK function.
    If it is an ALV output, the PF-status and User-command event should be called in the ALV function module.
    Regards,
    Prem

  • What is difference between report programming and dialog programming?

    hi,
    what is difference between report programming and dialog programming? plz provide some example code
    bye

    ABAP programming
    Basically reports are used to read database and represent the results in lists.
    Reports are collections of processing blocks that the system calls depending on events.
    We can use reports to evaluate data from database tables.
    Reports are stand alone programs and controlled by events.
    A report itself never creates events
    steps in report:
    Processing the selection screen
    Reading the database
    Evaluating the data and creating lists
    Outputting a list.
    1st u write simple logics, after that u can enhance the code as step by step.
    http://venus.imp.mx/hilario/Libros/TeachYrslfAbap4/index.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/d1/802cfc454211d189710000e8322d00/frameset.htm
    http://www.sapdev.co.uk/reporting/reportinghome.htm
    Dialog Programming
    Structure of a Dialog Program
    A dialog program consists of the following basic components:
    Screens (dynpros)
    Each dialog in an SAP system is controlled by dynpros. A dynpro (DYnamic PROgram) consists of a screen and its flow logic and controls exactly one dialog step. The flow logic determines which processing takes place before displaying the screen (PBO-Process Before Output) and after receiving the entries the user made on the screen (PAI-Process After Input).
    The screen layout fixed in the Screen Painter determines the positions of input/output fields, text fields, and graphical elements such as radio buttons and checkboxes. In addition, the Menu Painter allows to store menus, icons, pushbuttons, and function keys in one or more GUI statuses. Dynpros and GUI statuses refer to the ABAP/4 program that control the sequence of the dynpros and GUI statuses at runtime.
    ABAP/4 module pool
    Each dynpro refers to exactly one ABAP/4 dialog program. Such a dialog program is also called a module pool, since it consists of interactive modules. The flow logic of a dynpro contains calls of modules from the corresponding module pool. Interactive modules called at the PBO event are used to prepare the screen template in accordance to the context, for example by setting field contents or by suppressing fields from the display that are not needed. Interactive modules called at the PAI event are used to check the user input and to trigger appropriate dialog steps, such as the update task.
    All dynpros to be called from within one transaction refer to a common module pool. The dynpros of a module pool are numbered. By default, the system stores for each dynpro the dynpro to be displayed next. This dynpro sequence or chain can be linear as well as cyclic. From within a dynpro chain, you can even call another dynpro chain and, after processing it, return to the original chain.
    Check this link for basics.
    http://sap.mis.cmich.edu/sap-abap/abap09/index.htm
    Check this link for Dialog Programming/Table Control
    http://www.planetsap.com/Tips_and_Tricks.htm#dialog
    Check this SAP Help for Dialog Program doc.
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/content.htm
    Check this SAP Help link for Subscreens.
    http://help.sap.com/saphelp_nw70/helpdata/en/9f/dbabfe35c111d1829f0000e829fbfe/content.htm
    Check this link for subscreen demo program.
    http://abapcode.blogspot.com/2007/05/demo-program-to-create-subscreen-in.html
    Also check this link too.
    http://abapcode.blogspot.com/2007/06/dialog-programming-faq.html
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/frameset.htm
    http://sap.mis.cmich.edu/sap-abap/abap09/sld004.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/52/670ba2439b11d1896f0000e8322d00/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/52/670c17439b11d1896f0000e8322d00/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/52/670c17439b11d1896f0000e8322d00/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9ccf35c111d1829f0000e829fbfe/frameset.htm
    http://abapprogramming.blogspot.com/

  • Link to report an issue with Podcast update

    Someone posted a link so we could report an issue with the Podcast app the last time there were issues with an upgrade.
    I sync with my laptop iTunes. Since this latest update to the app, when I delete a podcast in iTunes on my laptop it will not delete on my i devices during a sync with my laptop. It just grays them out and leaves them on my device. It looks like I can manually delete them, but when you click the edit function to delete them, they are no longer grayed out, so you can't tell which to delete and which to keep.
    I don't do anything with the cloud, because I have limited wifi service and do most of my updating at a free wifi hotspot.
    If someone has that online link on where to report issues, I would appreciate you posting it again and this time I will save it.

    To Contact the Mac App Store Customer Service:
    http://www.apple.com/support/mac/app-store/contact.html?form=account
    To Contact iTunes Store Customer Service:
    Apple - Support - iTunes Store - Contact Us

  • Problem WIth Variant in a report program

    I have a z report program with couple of variants , the problem is the varaints display onlt name of the variant and description when the varaint button is pressed.
    The changed by , date etc details are not getting displayed.
    Thanks
    Arun

    Hi Arun,
    You will not get those data directly from the program execution screen. If you want to get those details, please check table VARID for that variant or program.
    Regards,
    Sourav

Maybe you are looking for

  • Can't Install Adobe Air on Windows XP SP3

    Every time I attempt to Run the AbodeAIRInstaller, it gives me an error, saying that it has encountered a problem and needs to close. I have SP3, and am the administrator since this is the only account on the computer. I'm not sure if there's anythin

  • Trouble opening library PDF book with Adobe Touch - help???

    In trying to open a library book (PDF format) on my new Windows8 Tablet, using Adobe Touch, I get a message saying, 'There are features in this file that are not supported by this program.' It doesn't allow me to open it anyway. It seems there must b

  • How do I get itunes to show me itunes library on the server

    Hello -- I rans itunes on a friends windows 7 computer and one of the selections on the left side of the screen was  "servers" --- I have the same server on my home system, but I don''t see that "server"  selection --  It there a setting in iTunes pr

  • Form Fields Blank after save

    I have a perculiar problem that has only just started happening. We fill out forms to send to customers who in turn sign them electronically using a third party service. As of this morning we have been filling out the forms as normal to send, but upo

  • Export DATASOURCE failing

    I removed a IO from ODS, This ODS feeds a CUBE The transport of ods/avtivation/transfer are successful along with the update rule for cube. However the generate of EXPORT datasource for ODS [ from ODS to Cube]is failing with the message DUMP - The te