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

Similar Messages

  • Code help in writing  report Program

    Hello experts
    I have to write a selection screen program based on the following requirements (only for sales Org:5090, plant:9000, Outbound delivery type= "LF")
    Selection parameters:
    Material (lips-matnr)
    Sold to party(likp-kunag): can hardcode it to 5090
    Sales Org(likp-vkorg)
    Plant(lips-werks) : hard code it to plant:9000
    Sales order(likp-vbeln)
    Actual goods movement dates(likp-wadat_ist)
    Invoice number
    Sales order
    Output
    material numberlips~matnr ( should Display only S* materials  and  material type FERT)
      Serial number of the device shipped (objk-sernr)
    Delivery number (lips~vbeln)
    Invoice number (vbrp-vbeln)
    Invoice price=Vbrp-vbeln/quantity (invoice price)
      Notification number (Viqmel-QMNUm)
      KBB Repair Level(VIQMEL-QMTXT from QMCOD ) 
      KBC Repair level(VIQMMA-MNCOD from KBC-SM07 code group(VIQMMA-MNGRP))
    code help is higly appreciated,
    Thanks
    Sp

    Hi anurag,
    Code is going like this, i could able to display it but when i run it ABAP Dump is coming.
    what could be the reason?
    Tahnks
    SP
    *& Report  ZSDR_PRICING_KSE_RPT                                        *
    REPORT  ZSDR_PRICING_KSE_RPT          .
    TABLES: likp, lips, vbfa, vbak.
    TYPE-POOLS: slis.
    */ Selection and Input Parameters
    SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME TITLE text-003.
    SELECT-OPTIONS: s_matnr FOR lips-matnr,
                    s_kunag FOR likp-kunag.
    SELECT-OPTIONS: s_vkorg FOR likp-vkorg NO INTERVALS,
                    s_werks FOR lips-werks.
    SELECT-OPTIONS: s_vbeln FOR likp-vbeln,
                    s_waist FOR likp-wadat_ist.
    SELECT-OPTIONS: s_vgbel FOR lips-vgbel.
    SELECTION-SCREEN END OF BLOCK block2.
    DATA: gt_fieldcat TYPE slis_t_fieldcat_alv.
    TYPES: BEGIN OF ty_data,
           matnr TYPE lips-matnr,
           sernr TYPE equi-sernr,
           vbeln TYPE lips-vbeln,
           invno TYPE vbfa-vbeln,
           qmnum TYPE vbak-qmnum,
           netwr type vbrp-netwr,
           END OF ty_data.
    DATA: gt_data TYPE TABLE OF ty_data WITH HEADER LINE.
    TYPES: BEGIN OF ty_lips,
           vbeln TYPE likp-vbeln,
           matnr TYPE lips-matnr,
           wersk TYPE lips-werks,
           vgbel TYPE lips-vgbel,
           END OF ty_lips.
    DATA: gt_lips TYPE TABLE OF ty_lips WITH HEADER LINE.
    DATA: gt_vbfa TYPE TABLE OF vbfa WITH HEADER LINE.
    DATA: gt_vbrp TYPE TABLE OF vbrp WITH HEADER LINE.
    TYPES: BEGIN OF ty_ser01,
           lief_nr TYPE ser01-lief_nr,
           obknr TYPE ser01-obknr,
           sernr TYPE objk-obknr,
           END OF ty_ser01.
    DATA: gt_ser01 TYPE TABLE OF ty_ser01 WITH HEADER LINE.
    START-OF-SELECTION.
      PERFORM get_data.
      PERFORM display_data.
    *& Form get_data
    FORM get_data.
      SELECT likpvbeln lipsmatnr lipswerks lipsvgbel
             INTO CORRESPONDING FIELDS OF TABLE gt_lips
             FROM likp INNER JOIN lips ON lipsvbeln = likpvbeln
             WHERE lips~matnr IN s_matnr
             AND lips~werks IN s_werks
             AND likp~kunag IN s_kunag
             AND likp~wadat_ist IN s_waist
             AND lips~vgbel IN s_vgbel
             AND likp~vkorg IN s_vkorg.
      IF NOT gt_lips[] IS INITIAL.
        SELECT vbeln vbelv INTO CORRESPONDING FIELDS OF TABLE gt_vbfa
        FROM vbfa
        FOR ALL ENTRIES IN gt_lips
          WHERE vbelv = gt_lips-vgbel
          AND vbtyp_n = 'M'.
        IF NOT gt_vbfa[] IS INITIAL.
          SELECT vbeln matnr netwr
          INTO CORRESPONDING FIELDS OF TABLE gt_vbrp
          FROM vbrp FOR ALL ENTRIES IN gt_vbfa
          WHERE vbeln = gt_vbfa-vbeln.
          SELECT ser01lief_nr ser01obknr objk~sernr
          INTO CORRESPONDING FIELDS OF TABLE gt_ser01
          FROM ser01 INNER JOIN objk ON objkobknr = ser01obknr
          FOR ALL entries IN gt_vbfa
          WHERE ser01~lief_nr = gt_vbfa-vbeln
          AND taser EQ 'SER01'.
        ENDIF.
      ENDIF.
      clear: gt_data[].
      LOOP AT gt_lips.
        LOOP AT gt_vbfa WHERE vbelv = gt_lips-vgbel.
          READ TABLE gt_vbrp WITH KEY vbeln = gt_vbfa-vbeln
          matnr = gt_lips-matnr.
          LOOP AT gt_ser01 WHERE lief_nr = gt_vbfa-vbeln.
            gt_data-matnr = gt_lips-matnr.
            gt_data-sernr = gt_ser01-sernr.
            gt_data-vbeln = gt_lips-vbeln.
            gt_data-invno = gt_vbfa-vbeln.
            gt_data-netwr = gt_vbrp-netwr.
            APPEND gt_data.
          ENDLOOP.
        ENDLOOP.
      ENDLOOP.
    ENDFORM. " get_data
    *& Form display_data
    FORM display_data.
      DATA: lv_repid TYPE sy-repid.
      lv_repid = sy-repid.
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
      EXPORTING
      i_program_name = lv_repid
    I_INTERNAL_TABNAME =
      i_structure_name = gt_data
    I_CLIENT_NEVER_DISPLAY = 'X'
    I_INCLNAME =
    I_BYPASSING_BUFFER =
    I_BUFFER_ACTIVE =
      CHANGING
      ct_fieldcat = gt_fieldcat
    EXCEPTIONS
    INCONSISTENT_INTERFACE = 1
    PROGRAM_ERROR = 2
    OTHERS = 3
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    I_INTERFACE_CHECK = ' '
    I_BYPASSING_BUFFER =
    I_BUFFER_ACTIVE = ' '
    i_callback_program = lv_repid
    I_CALLBACK_PF_STATUS_SET = ' '
    I_CALLBACK_USER_COMMAND = ' '
    I_STRUCTURE_NAME =
    IS_LAYOUT =
    it_fieldcat = gt_fieldcat
    IT_EXCLUDING =
    IT_SPECIAL_GROUPS =
    IT_SORT =
    IT_FILTER =
    IS_SEL_HIDE =
    I_DEFAULT = 'X'
    I_SAVE = ' '
    IS_VARIANT =
    IT_EVENTS =
    IT_EVENT_EXIT =
    IS_PRINT =
    IS_REPREP_ID =
    I_SCREEN_START_COLUMN = 0
    I_SCREEN_START_LINE = 0
    I_SCREEN_END_COLUMN = 0
    I_SCREEN_END_LINE = 0
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER =
    ES_EXIT_CAUSED_BY_USER =
    TABLES
    t_outtab = gt_data
    EXCEPTIONS
    PROGRAM_ERROR = 1
    OTHERS = 2
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.

  • Code help in writing a Program which resolves the pricing issues

    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.
    Thanks
    SP
    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

    http://java.sun.com/developer/onlineTraining/JavaMail/

  • Help need on ALV Report Program

    Hi all.....
    im facing problem in the following code....it shows 'No records found' (as same as my coding generated)whenever i give wrong vendor no:(lifnr), but if i gives the correct one(as in table lfa1)...it shows Runtime error as <b>"the occupied line length in the program text must not exceed the width of the internal table"</b>..
    pls verify...
    just go thru my code and revert me the feedback of what i did wrong and pls i dont want any example codes from u guys since i've seen so much and couldnt solve it with that...
    hope u understand......what i need
    Rewards based on the above reuirements....only
    *******************************CODING***********************************************
    REPORT ZALV_MERGE.
    TABLES:lfa1.
    DATA:BEGIN OF itab OCCURS 100,
    lifnr LIKE lfa1-lifnr,
    land1 LIKE lfa1-land1,
    name1 LIKE lfa1-name1,
    ort01 LIKE lfa1-ort01,
    regio LIKE lfa1-regio,
    sortl LIKE lfa1-sortl,
    END OF itab.
    data: i_repid like sy-repid,
          i_tabix like sy-tabix.
    TYPE-POOLS: slis.
    DATA: fcat TYPE slis_t_fieldcat_alv.
    SELECT-OPTIONS: LIFNR FOR LFA1-LIFNR.
    SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE itab WHERE lifnr IN LIFNR.
    clear i_tabix.
    describe table itab lines i_tabix.
    if i_tabix lt 1.
    write:/ 'No materials found'.
    exit.
    endif.
    i_repid = sy-repid.
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
       I_PROGRAM_NAME               = i_repid
       I_INTERNAL_TABNAME           = 'ITAB'
      I_STRUCTURE_NAME             =
      I_CLIENT_NEVER_DISPLAY       = 'X'
      I_INCLNAME                   = I_REPID
      I_BYPASSING_BUFFER           =
      I_BUFFER_ACTIVE              =
      CHANGING
        CT_FIELDCAT                  = fcat
      EXCEPTIONS
       INCONSISTENT_INTERFACE       = 1
       PROGRAM_ERROR                = 2
       OTHERS                       = 3.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
       I_CALLBACK_PROGRAM             = i_repid
      I_CALLBACK_PF_STATUS_SET       = ' '
      I_CALLBACK_USER_COMMAND        = ' '
       I_STRUCTURE_NAME               = 'ITAB'
      IS_LAYOUT                      =
       IT_FIELDCAT                    = fcat
       I_SAVE                         = 'A'
      TABLES
        T_OUTTAB                       = ITAB
    EXCEPTIONS
       PROGRAM_ERROR                  = 1
       OTHERS                         = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

    Hi,
    think inthis program in the function module REUSE_ALV_FIELDCATALOG_MERGE
    in exporting parameter you are using -->
    I_INTERNAL_TABNAME = <itab_name>
    this <itab_name> is not like any physical structure .So make a structure through SE11 like <itab_name>.
    u have to create a structure in SE11 with the fields, and then pass that structure into the REUSE_ALV_FIELDCATALOG_MERGE , in the parameter
    I_internal_tabname = ' structure name '.
    even though u create a structure, u need to pass it to the table parameter.
    then it will work.
    Otherwise manually build the fieldcatalog.
    find the following code as an example.
    DATA : l_pos TYPE i VALUE 1.
      ist_fieldcat-fieldname = 'POSID'.
      ist_fieldcat-tabname   = 'IT_FINAL'.
      ist_fieldcat-outputlen = 24.
      ist_fieldcat-col_pos   = l_pos.
    ist_fieldcat-ddictxt = 'L'.
      ist_fieldcat-key = 'X'.
      ist_fieldcat-seltext_l = 'Appropriation Request Number'.
      APPEND ist_fieldcat.
      CLEAR ist_fieldcat.
      l_pos = l_pos + 1.
      ist_fieldcat-fieldname = 'TXT04'.
      ist_fieldcat-tabname   = 'IT_FINAL'.
      ist_fieldcat-outputlen = 4.
      ist_fieldcat-col_pos   = l_pos.
      ist_fieldcat-ddictxt = 'L'.
    ist_fieldcat-key = 'X'.
      ist_fieldcat-seltext_l = 'Status'.
      ist_fieldcat-EMPHASIZE = 'C400'.
      APPEND ist_fieldcat.
      CLEAR ist_fieldcat.
      l_pos = l_pos + 1.
      ist_fieldcat-fieldname = 'UDATE'.
      ist_fieldcat-tabname   = 'IT_FINAL'.
      ist_fieldcat-outputlen = 8.
      ist_fieldcat-col_pos   = l_pos.
      ist_fieldcat-ddictxt = 'L'.
      ist_fieldcat-key = 'X'.
      ist_fieldcat-seltext_l = 'Status Date'.
    IST_FIELDCAT-EMPHASIZE = 'C600'.
      APPEND ist_fieldcat.
      CLEAR ist_fieldcat.
    <i><b>Reward point if find helpful
    Debjani</b></i>

  • Help with writing a c program

    Hello,
    I want to write a c program, but could use some help. I want to write a program that will add a NUL character to each line? I want to have a NUL character put on the end of text either written or read to the file? In terminal the keystroke to write a NUL character is cntrl shift @. With the help of others I have written a shell script that when executed uses the echo command, there was a variable in it and then \00 was added to the end of the variable. And the script worked, when I would run the script my cursor would drop down a line, I could then enter text and when I hit return a NUL character would be automatically added to the text I had written. I confirmed this because my serial device a speech synthesizer spoke the text I had written. I could after I hit return type another line of text or press cntrl d to exit the shell script. I have been trying to figure out a way to have a complete unix session spoken by my serial port device. I got ckermit a terminal emulator, and using certain ckermit commands was able to transmit a text file (which based on how I saved the file must have ended with a NUL because my synthesizer spoke some files I transmitted, and other files it didn't speak). I also used the ckermit lineout command to send text directly to my device, and that worked. I then tried ckermits log session command to send a whole unix session to my synthesizer. And so far I haven't been able to get audio output? So I want to write a c program, that will add a NUL character to the end of a line sent to my synthesizer. I don't know if I need a NUL at the end of text on each line, or just at the very end of text? i.e. if I do ls, would I need to put a NUL at the end of each line, or just at the very end of the ls listing? btw ls is just an example if possible I want my program when I am running it to work with a complete unix session i.e. pwd would produce my synthesizer speaking my current working directory. I really don't know where to begin, I think I would use printf but I don't know where to start? Any help would be appreciated.

    jamesapp wrote:
    etresoft a couple of questions. I have the developer tools installed do I need to download anything to run your perl script?
    Nope.
    How do I save the perl script, let's say I call it talk and put it in a folder called doubletalk in my
    home folder
    Use your favorite text editor such as Text Wranger, Xcode, or vi.
    how do I save talk as an executable script?
    If you save it as a text file named "talk", then do "chmod u+x talk".
    When I run it do I need cat running as well
    No. You don't need to use cat. However, if you had text in some external file that you wanted to send to your speech synthesizer, you could use cat to pipe the contents of a file to the script as standard input. "cat /path/to/file/to/speak.txt | talk -o /dev/serial/port"
    I thought to Invoke it I would at a shell prompt, change to the directory where I saved the script and then I would type
    $ ./talk -o /dev/cu.usbserial-FTKVMAFF
    and then what would happen, I could conduct a unix session and everything would be sent to /dev/cu.usbserial-
    FTKVMAFF that is the designation of my serial device?
    Yes. That is correct. Or, you could copy "talk" to any directory in your path, such as "/usr/local/bin" and then you can run it from anywhere.
    How do I exit the program and stop appending NULs?
    The script reads from standard input. If you are piping from a file it will automatically close standard input and terminate the script when it has read all the file. If you are running it from standard input, you will have to type "Control - D" to close the input stream. Since the script is Perl and a bit more intelligent that "cat", you could also add a line to quit it with a command. For example, say you wanted to quit the program just by typing "stop". Do something like:
    while(my $line = )
    chomp $line;
    exit
    if $line eq 'stop';

  • Asking for a help in writing an algorithm program

    I am asking for a program that takes as an input an integer and print out the prime numbers btw 0 and the input integer .
    For exemple , if we do input 20 , the program should print out :
    2
    3
    5
    7
    11
    13
    17
    19

    you didn't answer the second important question:
    What problems are you running across?
    if you really don't want to do any of your own work, you could always take Ade's great suggestion and use Google:
    http://www.google.com/search?complete=1&hl=en&q=prime+number+generator+java&btnG=Google+Search

  • Basic report programming

    i am new to SAP.
    please provide information abt report programming like what are the basic things we have to remember while writing a report program.please provide any link which gives basic information abt report programming with some hands-on practice.

    hii amar,
    Report programming is a simple abap program which deals with presentation of the output to the client.
    Report is generally designed when we want to have the output on the screen in a particular manner..
    Report has many things attached to it like alv etc.
    But basically reports are managed by events. The order of the events are as follows.
    Initialization
    At selection screen
    Start of selection
    End of selection
    Top of page..
    We write the code in these events and this will be executed sequentially. If u want any detailed thing in report. Do revert back.
    for eg. in the following code:
    *& Report  Z_84083_REP                                                 *
    REPORT  z_84083_rep NO STANDARD PAGE HEADING LINE-SIZE 150.
    *MESSAGE-ID z_84083_msg.
    **********************Database Tables*********************************
    TABLES: z84083_train,Z84083_BOOKING.
    **************************Selection Screen***************************
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
    SELECT-OPTIONS: trnno FOR z84083_train-train_no NO INTERVALS.
    PARAMETERS: from_st TYPE z84083_train-from_stn,
                to-st TYPE z84083_train-to_stn.
    SELECTION-SCREEN END OF BLOCK b1.
    *************************Internal Table*******************************
    DATA: BEGIN OF itab OCCURS 10,
          trainno TYPE z84083_train-train_no,
          trainname TYPE z84083_train-train_name,
          fromstn TYPE z84083_train-from_stn,
          tostn TYPE z84083_train-to_stn,
          TOTT TYPE z84083_train-TOTAL_TKTS,
    END OF itab.
    *************************Headings*******************************
    DATA:
        h1(10) TYPE c VALUE 'Train No',
        h2(20) TYPE c VALUE 'Train Name',
        h3(20) TYPE c VALUE 'From Stn',
        h4(20) TYPE c VALUE 'To Stn'.
      DATA : FLD(25) TYPE C,
            VAL TYPE  z89297_train-trainno.
    *************************Report Headings****************************
    TOP-OF-PAGE.
      WRITE: 'REQUESTER : Rahul Dwivedi',
             114'PAGE   :',sy-pagno.
      WRITE:/ 'PROGRAM : TRAIN REPORT',
              114'DATE :',sy-datum.
      SKIP 1.
      WRITE 60'TRAIN RESERVATION REPORT' COLOR 6 INVERSE ON INTENSIFIED ON.
      SKIP 1.
      ULINE.
    END-OF-PAGE.
      ULINE.
    *******************Defining the Start Of Selection event*************
    START-OF-SELECTION.
      PERFORM fetch.
    END-OF-SELECTION.
    *******************CALLING THE DISPLAY FUNCTION
      perfORm display.
      AT LINE-SELECTION.
      IF sy-lsind = 1.
      GET CURSOR FIELD fld VALUE val.
       IF fld = 'ITAB-TRAINNO'.
       SET PARAMETER ID 'PID' FIELD ITAB-TRAINNO.
       SET PARAMETER ID 'PID1' FIELD ITAB-TRAINNAME.
             call transaction 'Z84083_TRANS'.
       Endif.
    ENDIF.
    *&      Form  fetch
          text
    FORM fetch.
      SELECT TRAIN_NO TRAIN_NAME FROM_STN TO_STN TOTAL_TKTS FROM
    z84083_train
        AS t INTO TABLE itab WHERE
        train_no IN trnno AND
        from_stn = from_st AND
        to_stn = to-st.
       SELECT NO_BD NO_AV FROM Z84083_BOOKING INTO TABLE ITAB1 WHERE
       TRAIN_NO IN TRNNO.
    ENDFORM.                    "fetch
    *&      Form  DISPLAY
          text
    FORM display.
      ULINE.
        FORMAT COLOR 3 INVERSE OFF.
        WRITE:/ h1,'|',h2,'|',h3,'|',h4,'|'.
        ULINE.
        FORMAT COLOR 2 INVERSE OFF.
         LOOP AT ITAB.
          FORMAT HOTSPOT ON.
          WRITE: /(10) ITAB-TRAINNO UNDER h1,'|'.
          HIDE ITAB-TRAINNO.
          FORMAT HOTSPOT OFF.
    WRITE: (20) ITAB-trainname UNDER h2,'|',
           (20) ITAB-fromstn UNDER h3,'|',
           (20) ITAB-toSTN UNDER h4,'|'.
        ENDLOOP.
        ULINE.
    ENDFORM.
          u go thru the program and understand the hierarchy of the various events.

  • 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

  • Use abap report program to print bar code instead of smartforms

    Do anyone know how to use abap report program to print bar code?

    Hi Celina,
    http://searchsap.techtarget.com/tip/1,289483,sid21_gci839063,00.html
    I hope this will help, also it depends on the barcode type like ARTNR-code 128...
    Regards,
    Sudhi

  • 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

  • Need help for writing extract program

    hi
    i need help for writing extract program to retriew data from legacy system.
    i already developed bdc programs for me31k and me21.
    my requirement is to write extract program s for those t.codes.
    to retriew data from legacy system and stored in flat file.

    i need help with a java program. it is a program that allows the user to enter a student's GPA, number of extracurricular activities, and number of service activities. The user can not enter a gpa above 4.0 or below 0. The user can not enter a negative number for the number of both activities. If the student meets the following criteria: 1) GPA of 3.8 or above and at least one extracurricular activity and one service activity, 2) GPA below 3.8 but at least 3.4 and a total of at least three extracurricular and service activities, 3) GPA below 3.4 but at least 3.0 and at least two extracurricular activities and three service activities, the message "Scholarship candidate" should display. If the student does not meet the criteria above, then the message"not a candidate" should display. Can you help me, please?
    You haven't posted ANY 'java program' for us to help with.
    The forum is NOT a coding service. It is to help you with YOUR code.
    Post the code you have written and SHOW us (don't just tell us) how you compile it and execute it and the results you get. Then we can help you with any problems you are are having.
    If you need help understanding just what the program should be doing you need to ask your instructor to clarify the assignment.

  • DOWNLOADING A REPORT PROGRAM CODE IN TO TEXT FILE

    I HAVE ONE SIMPLE REPORT PROGRAM SAY,
    *& Report  ZTEST25
    REPORT  ZTEST25.
    DATA : A(8) TYPE C.
    A = 'ANDHRA'.
    WRITE  A.
    THE ABOVE MENTIONED REPORT PROGRAM SHOULD BE DOWNLOADED TO A TEXT FILE USING ANOTHER REPORT PROGRAM BY USING PARAMETER.
    THE OUTPUT IN THE FLAT FILE SHOULD BE:
    REPORT  ZTEST25.
    DATA : A(8) TYPE C.
    A = 'ANDHRA'.
    WRITE  A.

    here is complete code for  that
    report  z11dpk_assign1
            no standard page heading
            message-id z11dpk
            line-size  200                 "page width
            line-count 65(0).              "page length.
    T  A  B  L  E S  D  E  C  L  A  R  A  T  I  O  N                  *
    tables:  trdir,     " System Table TRDIR
             trdirt.    " Title texts for programs in
    D  A  T  A  D  E  C  L  A  R  A  T  I  O  N                       *
    Types
    Structure declaration for system table
    types: begin of struct_sys,
           name(40) type c,       " ABAP program name
           clas(4)  type c,       " Program class
           subc(1)  type c,       " Program type
           cnam(12) type c,       " Author
           cdat     type dats,    " Created on
           rstat(1) type c,       " status
           text     type repti,   " Report title
           c_box(1) type c,       " for check box
           end of struct_sys.
    Structure for internal table for report data
    types: begin of struct_report,
           line(500),
           end of struct_report.
    C  O  N  S  T  A  N  T  S  D  E  C  L  A  R  A  T  I  O  N  S
    data     : c_name(50)        type c,               " Program Name
               c_filename        like ibipparms-path,  " File name
               c_filename1       type string,          " File name
               c_ext(5)          value '.TXT',         " File extension
               c_textline(150)   type c,               " downloading status
               c_count           type c,               " no of pgm downlded
               c_count_text(100) type c.               " Text pgm downlded
    The CONSTANTS statement defines global and local constants.
    By using constants, you can read statically declared data objects,
    constants: c_const(8)        value 'UNTITLED'.
    I  N  T  E  R  N  A  L  T  A  B  L  E  D  E  C  L  A  R  A  T  I  O N
    data: it_sys    type standard table of struct_sys, " Itab for sys data
          it_report type standard table of struct_report with
          non-unique default key initial size 1000.    " Itab for rep data
    W  O  R  K  A  R  E  D  E  C  L  A  R  A  T  I  O  N  S
    data: wa_sys    type struct_sys,          " Work area for sys data
          wa_report type struct_report.       " Work area for report data
    I  N  I  T  I  A  L  I  Z  T  I  O  N
    initialization.
      clear  : wa_sys.
      refresh: it_sys,
               it_report.
      c_count = 0.
    S  E  L  E  C  T  I  O  N  -  S  C  R  E  E  N
      selection-screen  : begin of block blk3 with frame title text-015.
      selection-screen  : begin of block blk1 with frame title text-001.
      select-options    : s_name for trdir-name.              " Program name
      selection-screen  : end of block blk1.
      selection-screen  : begin of block blk2 with frame title text-002.
      parameters        : p_file type rlgrap-filename. " Path for loc folder
      selection-screen  : end of block blk2.
      selection-screen  : end of block blk3.
    A  T  S  E  L  E  C  T  I  O  N  -  S  C  R  E  E  N
    *The possible entries pushbutton for F4 appears beside the appropriate
    *fld (p_file) When the user activates this pushbutton or presses F4 for
    *the fld, the event is executed You can thus implement a self-programmed
    *possible entries routine for the input/output fields of the selection
    *screen
    at selection-screen on value-request for p_file.
    Value of Local file for upload/download is obtained by using this FM
      call function 'F4_FILENAME'
        importing
          file_name = p_file.
    S  T  A  R  T  -  O  F  -  S  E  L  E  C  T  I  O  N
    start-of-selection.
    CONCATENATE p_name '%' INTO z_name.
      select name
             clas
             subc
             cnam
             cdat
             rstat into table it_sys
                   from trdir
    *Sorts the selected records in ascending order by the specified column
    *references f1 ... fn (name)
                  where name in s_name order by name.
                  WHERE name LIKE 'Z11%'.
      if sy-subrc = 0.
        sort it_sys by name.
        clear wa_sys.
        loop at it_sys into wa_sys.
          select single text
                 into wa_sys-text
                 from trdirt
                 where name  = wa_sys-name and
                       sprsl = sy-langu.
          modify it_sys from wa_sys index sy-tabix.
          clear wa_sys.
        endloop.
      endif.
      set pf-status 'MENU_ASSIGN1'.
      uline.
      write:/    sy-vline ,
             8   sy-vline,  text-009 color 4,         " Name of the Program
             55  sy-vline,  text-003 color 4,         " Class
             62  sy-vline,  text-004 color 4,         " Type
             68  sy-vline,  text-005 color 4,         " Created By
             80  sy-vline,  text-006 color 4,         " Created On
             92  sy-vline,  text-007 color 4,         " Status
             100 sy-vline,  text-008 color 4,         " Program text
             180 sy-vline.
      clear wa_sys.
      loop at it_sys into wa_sys.
        uline.
        write:/ sy-vline,
               5   wa_sys-c_box as checkbox,
               8   sy-vline,  wa_sys-name,
               55  sy-vline,  wa_sys-clas,
               62  sy-vline,  wa_sys-subc,
               68  sy-vline,  wa_sys-cnam,
               80  sy-vline,  wa_sys-cdat,
               92  sy-vline,  wa_sys-rstat,
               100 sy-vline,  wa_sys-text,
               180 sy-vline.
      endloop.
    at user-command.
      case sy-ucomm.
        when 'BACK'.
          leave screen.
        when 'EXIT'.
          leave program.
        when 'DOWN'.
          clear wa_sys.
          do.
            clear wa_sys.
            read line sy-index field value wa_sys-c_box wa_sys-name.
            if sy-subrc <> 0.
              exit.
            endif.
    *if check box is selected.....
            if wa_sys-c_box = 'X'.
              clear c_textline.
    *Assigns the contents of the source field to the target field as a new
    *value
              write text-010    to c_textline.         " Downloading
              write wa_sys-name to c_textline+12.
              write text-011    to c_textline+53.      "to
              write c_filename1 to c_textline+56.      " file name
    FM returns the Text to be displayed on screen
              call function 'SAPGUI_PROGRESS_INDICATOR'
                exporting
                  text = c_textline.
              c_count = c_count + 1.
    Reads the program prog from the database into the internal table itab.
    The line length of table itab should be at least 72 characters
              read report wa_sys-name into it_report.
              if sy-subrc <> 0.
                exit.
              endif.
    *p_file contains the character string untitiled
    This comparison is not case sensitive
              if p_file cs c_const.        " Untitled
    the string ''(space) replaces the untitled occurrence of the search
    ignore case is used as this search is case sensitive
                replace c_const in p_file with '' ignoring case.
              endif.
    Places the fields f1 to fn (n >= 2) after g (target field).
              concatenate p_file wa_sys-name  c_ext into c_filename1.
    *Data transmission of an internal table from the server to a file on the
    PC is done by this FM.
              call function 'GUI_DOWNLOAD'
                exporting
                  filename = c_filename1
                  filetype = 'ASC'
                tables
                  data_tab = it_report.
              if sy-subrc <> 0.
                message id sy-msgid type sy-msgty number sy-msgno
                        with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
              endif.
            endif.
          enddo.
          clear c_count_text.
          write c_count  to c_count_text+1.
          write text-030 to c_count_text+4.
    Nos Of Pgms downlded successfully
          message i205 with c_count_text.
      endcase.
    T  O  P -  O  F  -  P  A  G  E
    top-of-page.
      uline.
      write:/   sy-vline,
             10 text-020 color 2,  " Fujitsu India Limited
             70 text-021 color 2.  " List of ABAP Programs
      write:/   sy-vline,
             10 text-022 color 3, sy-datum color 3,    " Date
             70 text-023 color 3, sy-pagno color 3.    " Page No
    plz reward if helpful
    vivek

  • Assign Search help in report program

    Dear All,
    I facing problem to assign search help in report program.
    I crated one elementary search help in which three fields i include
    -carrid
    -carrier name
    -booking  
    all three fields having import and export parameter in search help.
    while executing this search help in se11 it gives proper output.
    but while assigning this search help in report program it only fetch one carried.
    my report is also having three parameter
    -carrid
    -carrier name
    -booking
    i assign search help like
    PARAMETER :  p_carrid TYPE scarr-carrid
                               MATCHCODE OBJECT z01_carrid,
    with all three field but it fetch only carrid ...

    Hi Chintan,
    For such types of requirements you can use this Function Module:
    F4IF_INT_TABLE_VALUE_REQUEST.
    Use this functiom modue under AT SELECTION-SCREEN ON HELP-REQUEST FOR P_CARRID.
    With this function module, you can fill your remainng parameters : P_carriername and booking also.
    Sample Code:
         DATA : TMP_RETURN_TAB  LIKE TABLE OF DDSHRETVAL,                                TMP_RETURN      LIKE DDSHRETVAL,                    
                    TMP_FIELD       TYPE  DFIES-FIELDNAME.               
    CASE AKIND.                                        
       WHEN '1'.                                        
         TMP_FIELD = 'AENNR'.                                        
       WHEN '2'.                                        
         TMP_FIELD = 'VBELN'.                                        
       WHEN '3'.                                        
         TMP_FIELD = 'ZZTEHAI'.                                        
      ENDCASE.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'                                                                 
       EXPORTING                                                                                     
         RETFIELD               = TMP_FIELD                                                                      
         WINDOW_TITLE           = ATITEL                                                                      
         VALUE_ORG              = 'S'                                                                                
       TABLES                                                                                          
         VALUE_TAB              = ATABLES                                                                           
         RETURN_TAB             = TMP_RETURN_TAB                                                                      
       EXCEPTIONS                                                                                
         PARAMETER_ERROR        = 1                                                                           
         NO_VALUES_FOUND        = 2                                                                           
         OTHERS                 = 3.                                                                                
      IF SY-SUBRC =  0.                                                                                
        READ TABLE TMP_RETURN_TAB INDEX 1 INTO TMP_RETUN.                                                            
        AVALUE = TMP_RETURN-FIELDVAL.                                                                      
      ENDIF.                                                  
    Jus analyze this code, you can get ur requirement done.
    Regards
    Sandeep Reddy

  • How to find Transaction code from Report/program name ?

    Dear all,
    How to find Transaction code if i know Report/program name ?

    Hi,
    In se 38 when u open ur program,in the application toolbar u have a button beside the where-used list button as display object list.on clicking this button,a window will be opened at the left most corner for repository browser,in this u can find any tranasctions,fileds,screens,dictionary structures defined for the program.
    if any transaction is created for the program u can find it under the transaction folder.
    revert back for further queries.
    Regards,
    Sravanthi

  • Help regarding attaching smartform to a report program for QM module

    Hii,
    I have developed a certifiacate of analysis smartform for QM module and i attached it to a output type ...but i need to attach this smartform to a standard report RQCAAP01. can anyone help me what customizations i should do in report program in order to attach smartform.
    Regards,
    Venkat Akella.

    I attached smartform in NACE to LQCB output type but i should also make changes in report program RQCAAP01..can u please let me know what customizations i should do in tht report program to attach the smartform..

Maybe you are looking for

  • Error in Transformation step of BPM

    Hi all, In BPM, I have defined a transformation step. For this, I have specified the Interface mapping which is between 2 abstract asynchronous interfaces. The Message Mapping for this Interface mapping involves multi-mapping (1:n) of the messages us

  • How to remove an ad from a game that came with laptop

    Would someone please explain to me how to remove an ad that comes up in the "Train Titans" game that comes with the laptop . It's in the  Windows Vista tile board. My son likes the game but cant continue playing it because the "Joss&Main" ad comes up

  • How to repeat 2 table header rows in adobe form

    Can anybody suggest me how to repeat 2 table header rows . one header row is for displaying only columns header list second header row is for displaying 'from date' and 'to date'. and i want this to be done using layout tab(palletes) in the form.  wi

  • Oracle 10G compatibility with Business Object 6.3.1

    we have a BO application, which accepts data from Oracle 10G. We are currently in the process to upgrade from Oracle 9I to 10G. We have not yet had the upgrades, but it would be very helpful if i could get some information on the impacts on BO due to

  • How do I view reminders or To Do's in iCal in Mountain Lion

    Just upgraded to Mountain Lion today. Have hundreds of tasks, ToDo's, reminders - whatever you want to call them. Previously they appeared on right side of iCal as a list. I see no "Show Reminders" in View menu, nothing in Preferences. Searched for a