How to display abap reports in EP

Hi all,
I have developed new reports in R/3.
how to display these abap reports in EP...

Hi Rajasekaran,
Please follow these steps,
<b>R/3 Side:</b>
1)Create new T-CODE in SE93 .
2)Assign Ur Report Program to Ur T-code
<b>Portal side:
Creating a System:</b>
1)System Admin -> System Config ->System Landscape -->Create a New system
(from template)-> Select SAP system with dedicated Application Server ->fillup the following Properties in your system
Application Host : Ur R/3 server Host Ex (10.252.10.122)
SAP Client : ex (800)
SAP System ID (SID) :eg(ID3)
SAP System Number : Eg: (00)
Server Port :Eg :3200              (00= instance )
System Type : r/3
User Mapping Type :admin,user
2)Create alias for your system and set Usermapping .
3)Test Ur system .
<b>Creating a  Iview:</b>
1)Create a Transaction Iview
2)Assign ur system alias to this Iview.
3)Assign u tcode to this Iview.
5)Preview
Regards,
Ramganesan K.

Similar Messages

  • Displaying ABAP report on a web browser

    Hi,   I want to develop a code for displaying ABAP report on a web browser.

    Hi Rao,
    Are you looking for running ABAP report from portal / WDA?
    There are lot of similar threads available on SCN: to run ABAP report in WDA.
    Calling a TCODE PA60 from Web dynpro ABAP
    Call TCode MM02 from ALV
    Please search in SCN, hope you may find many threads.
    Regards,
    Rama

  • How to call ABAP report in portal

    Hi,
    I have a ABAP report which is created and i want to display this in Portal . Any idea how i can do the same. Please, give me all the details in step-by-step.
    Thanks & Regards,
    Ashish Mehta

    Hi,
       Try this:
    1. Create a transaction iView in the portal.
    2. Set the transaction to SE38.
    3. Declare Application Parameters as:
        RS38M-FUNC_EDIT=X;RS38M-PROGRAMM=<name of the report>
    4. Put this in the OK Code Field property: STRT.
    5. Set the System property to the portal system that points to the back-end R/3 system.
    6. Launch the iview.
    Regards,
    Satyajit.

  • How to download ABAP(report,module pool...etc) source code to client PC?

    hi guys,
    please advise how can i download/export ABAP(report,module pool...etc) source code to client PC?
    thanks.

    hi
    this report is to export to another server...
    PROGRAM ZDOWNLOAD_SAP
    LINE-SIZE 132
    LINE-COUNT 62
    NO STANDARD PAGE HEADING.
    This program up / downloads from / to a local dataset
    all the components of an ABAP - i.e TEXTS, the entire CUA
    including statuses and menus, DYNPROS and source code.
    Program documentation and variants are not handled.
    INCLUDED programs are automatically handled both on upload
    or download. INCLUDE selection can be excluded or generic
    e.g only handle INCLUDES starting with ZIN*
    INCLUDES within INCLUDES alos handled.
    The only restriction is on UPLOAD the INCLUDED programs must come
    from the same directory as the main program.
    On Download of course the ABAP must exist in the library.
    Note for LINUX and BATCH users
    This program was originally designed as a one off tool for
    getting ABAPS etc from a SAP R2 (IBM MVS mainframe system) into
    an R3 test system minimising the need for a large amount of
    mainframe sysprogs (anybody remember what they were !!) time
    and support to say nothing of access problems from TSO /JES2 /
    SAP R2. At that time network connections were patchy and the
    transport systems largely incompatable and not very reliable.
    This program was originally designed as a one off tool for
    Must run on Windows front end ---- If you are running SAP with
    LINUX on your work station you will have to change the WS_UPLOAD
    and WS_DOWNLOAD functions to reflect the Linux file system. The
    contents of the data sets themseleves do not need to be changed
    Program can easily be modified to run in batch and store
    the data on a UNIX host. Change the WS_UPLOAD and WS_DOWNLOAD
    to read from and write to UNIX data sets (OPEN FILE etc).
    You will also need to modify the parts of the program that get
    the DOS directory and display the Windows file paths.
    The actual abap data sets do not need to be changed.
    Rel 4.0 names can now be up to 40 bytes long
    Dynpros and CUA have changed from rel 3.1
    Tabstrips now loaded and unloaded in dynpros
    Please note restriction on 4.6 systems for users who
    have ABAP names which include '/'s in their names.
    Rel 4.6b, 4.6c Abap names can include the '/' in their names
    e.g /CUST1/CUST2/ORDER
    This causes problems when storing to a local file.
    a solution is to change the name to %CUST1%CUST2%ORDER i.e / will
    be changed to %. On upload the % should be changed back to /
    again. This change still needs to be implemented.
    If you don't use the / in the abap name then this is not a problem.
    If file to be uploaded is in rel 3 format then names are only 8
    bytes long.
    program uses 3 datasets per abap
    1) abapname.eee source, dynpr logic, texts, CUA stuff
    2) abapname.hhh dynpr header
    3) abapname.fff dynpro fields.
    because of varying lengths and contents 3 data sets are used. The
    complexity of combining all these to 1 data set would make the
    program far too complex.
    NOTE: This version of the program can only be used on
    release 4.0 or higher. Once an ABAP has been converted
    to rel 4.0 it cannot be converted back to rel 3.0
    on a release 3/3.1 system. Release 4 CUA tables
    are different. Use release 3 version of this program
    for releases 3.0 and 3.1. Available on SAPFANS website.
    Note that data to be uploaded must have been previously downloaded
    by this program (any version since rel 2.0) - except for Initial
    Load -- see end of these comments.
    Dynpros and CUA statuses have changed since rel 3.1
    This program will handle rel 3.1 format on upload but will
    download in rel 4.0 format. To upload 3.1 format specify an 'X'
    in the rel3 parameter.
    If you have downloaded components in rel 4.0 format and you
    want to re-load to a 3.1 system you will have to load
    the source via standard upload and re-create dynpros and the CUA
    manually.
    As names can now be longer than 8 characters you can only
    use this program if the SAP front end (SAPGUI) supports
    long file names (WIN 95/98 or WIN NT). Windows 3.x will not
    work as the underlying DOS system cannot handle long file names.
    UPLOAD function and DOS directory.
    When an ABAP is selected for UPLOAD then the DOS
    directory is read into a table. A file called ABAP.BAT is created,
    and down loaded to the 'C' drive and executed.
    This file executes a DOS DIR command and pipes the output
    into a dataset which is then uploaded into an internal
    table on SAP.
    Note on running DOS commands from ABAP
    The first time this procedure is executed you will see a DOS window
    which you will have to close manually. To get round this
    use windows explorer to select the file ABAP.BAT and then
    right mouse click on the file name. Select the
    properties window. From this click the CLOSE on EXIT box. This
    will then automatically close the DOS function after it has
    executed. (Windows restriction).
    The DOS function has not been tested using Windows 2000 so
    it might not work. OK on W95,W98,WME and Windows NT (No Thanks)
    If INCLUDE programs are wanted on UPLOAD only the specified
    directory is searched.
    Instead of entering path name manually you can click on
    the path parameter. Because of Windows restriction you will
    have to select ANY file in the relevant directory.
    The path will then be copied on to the selection screen.
    To do still : Merge 3 files to one and compress output to .ZIP file
    fix 4.5 4.6 problem of abaps containing '/' in the name
    possibility to automatically up / download referenced
    function modules with selection criteria like INCLUDES
    To load the ist time into a system.
    Create program with ABAP editor and Upload the .EEE file.
    Delete ist line (????SRCE) in the ABAP EDITOR --NOT THE DISK FILE
    Delete all the source from the line that starts ????TEXT (towards
    the end file) till the end so the last line in your source is ENDFORM.
    DO NOT ALTER THE DISK FILE. DO THESE CHANGES IN THE ABAP EDITOR.
    Save file and execute
    Use following parameters (Note the ist time you won't get proper
    text on the selection screen).
    Function U
    Path full dos path containing source e.g c:\abaps\
    NOTE YOU MUST ENTER THE FINAL \ as above.
    REPID the program name. e.g ZZJIMHXX
    note that on the DISK you will see 3 files
    ZZJIMHXX.EEE, ZZJIMHXX.FFF, ZZJIMHXX.HHH
    just use the name before the dos qualifier - the
    program will do the rest
    ignore other parameters
    The program will then load itself with all the texts etc.
    It should now be ready for use.
    Macros
    DEFINE DEFINE_TABLE.
    DATA: &1 LIKE &2 OCCURS &3 WITH HEADER LINE.
    END-OF-DEFINITION.
    DEFINE CLS.
    REFRESH &1.
    CLEAR &1.
    END-OF-DEFINITION.
    DEFINE INIT.
    IF &1 NE SPACE.
    SEARCH &1 FOR '. .'.
    IF SY-SUBRC = 0.
    WRITE '*' TO &1+SY-FDPOS(1).
    ENDIF.
    TRANSLATE &1 USING '*%'.
    ELSE.
    MOVE '%' TO &1.
    ENDIF.
    END-OF-DEFINITION.
    end of macros
    / SAP standard tables */
    TABLES: D020S, "Dynpro header
    D020T, "Dynpro title
    D021T, "Screen field keyword texts
    TRDIR, "Attribute table
    TADIR, "Dev. class etc.
    EUDB, "CUA data
    TSTC, "transaction data
    TITLE, "CUA titles
    RSMPTEXTS. "Function texts (rel 4.0)
    / Work tables to hold ABAP source etc, and dynpro */
    / contents. */
    DATA: BEGIN OF H. "Header
    INCLUDE STRUCTURE D020S.
    DATA: END OF H.
    DATA: BEGIN OF H1 OCCURS 10, "Header
    NAME(40) TYPE C, "rel 4
    NUMBER(4) TYPE N.
    INCLUDE STRUCTURE D020S.
    DATA: END OF H1.
    DATA: BEGIN OF H2 OCCURS 0, "Rel 3 dynp. header
    CNAME(8) TYPE C,
    CNUM(4) TYPE C,
    NNAME(8) TYPE C,
    NNUM(4) TYPE C,
    FILL(51) TYPE C,
    CDAT(6) TYPE C,
    CTIM(6) TYPE C,
    END OF H2.
    DATA: BEGIN OF F OCCURS 250. "Dynpro Fields
    INCLUDE STRUCTURE D021S.
    DATA: END OF F.
    DATA: BEGIN OF F1 OCCURS 500, "Dynpro Fields
    NAME(40) TYPE C, "rel 4
    NUMBER(4) TYPE N.
    INCLUDE STRUCTURE D021S.
    DATA: END OF F1.
    DATA: BEGIN OF OLD_F1 OCCURS 0, "Dynpro Fields (rel 3)
    NAME(8) TYPE C,
    NUMBER(4) TYPE C.
    INCLUDE STRUCTURE D021SE_OLD.
    DATA: END OF OLD_F1.
    DATA: BEGIN OF F2 OCCURS 0, "Dynpro Fields (rel 3)
    TFIL(284) TYPE C,
    END OF F2.
    DATA: BEGIN OF M OCCURS 3. "Match codes (if any)
    INCLUDE STRUCTURE D023S.
    DATA: END OF M.
    DATA: BEGIN OF E OCCURS 0. "Dynpro Logic
    INCLUDE STRUCTURE D022S.
    DATA: END OF E.
    DATA: BEGIN OF E1 OCCURS 0, "Dynpro Logic
    NAME(40) TYPE C, "rel 4
    NUMBER(4) TYPE N.
    INCLUDE STRUCTURE D022S.
    DATA: END OF E1.
    DATA: BEGIN OF T OCCURS 0, "prog name and dynpro nrs
    NAME(40) TYPE C, "rel 4
    NUMBER(4) TYPE N,
    END OF T.
    DATA: BEGIN OF R OCCURS 56, "prog name and language
    NAME(40) TYPE C, "rel 4
    LANGUAGE(1) TYPE C,
    END OF R.
    DATA: BEGIN OF S OCCURS 3000,
    TXT(180) TYPE C, "rel 4 was 132
    END OF S.
    DATA: BEGIN OF R1 OCCURS 50, "for include programs
    NAME(40) TYPE C, "rel 4
    INSTANCE(3) TYPE P,
    END OF R1.
    DATA: BEGIN OF S1 OCCURS 3000,
    TXT(180) TYPE C, " rel 4 was 132
    END OF S1.
    DATA: BEGIN OF U OCCURS 100, "Text elements
    TXT(180) TYPE C, " rel 4 was 132
    END OF U.
    DATA: BEGIN OF DIR. "ABAP Attributes
    INCLUDE STRUCTURE TRDIR.
    DATA: END OF DIR.
    DATA: BEGIN OF DTXT. "Dynpro field keyword texts
    INCLUDE STRUCTURE D021T.
    DATA: END OF DTXT.
    / This data contains all the components of the */
    / CUA such as menus, statuses, Pfkeys */
    / As from rel 4.5 Tabstrips are automatically copied as well */
    / The rel3 parameter must be set however to load the */
    / correct version of the CUA tables if uploading rel 3 */
    / data to a rel 4 system. */
    / Rel 4.0B can convert 3.1 and earlier CUA's */
    / This could change later however. */
    CUA Tables.
    Key of CUA tables in EUDB data set. Name is len 40 in rel 4.0
    DATA BEGIN OF EU_KEY.
    INCLUDE STRUCTURE RSEU1_KEY.
    DATA END OF EU_KEY.
    Status
    DATA BEGIN OF STA OCCURS 0.
    INCLUDE STRUCTURE RSMPE_STAT. " rel 4
    DATA END OF STA.
    Functions
    DATA BEGIN OF FUN OCCURS 0.
    INCLUDE STRUCTURE RSMPE_FUNT. "rel 4
    DATA END OF FUN.
    Menus
    DATA BEGIN OF MEN OCCURS 0.
    INCLUDE STRUCTURE RSMPE_MEN. "rel 4.0
    DATA END OF MEN.
    Menus (texts)
    DATA BEGIN OF MTX OCCURS 0.
    INCLUDE STRUCTURE RSMPE_MNLT. "rel 4.0
    DATA END OF MTX.
    Action Bar
    DATA BEGIN OF ACT OCCURS 0.
    INCLUDE STRUCTURE RSMPE_ACT. "rel 4.0
    DATA END OF ACT.
    Push Buttons
    DATA BEGIN OF BUT OCCURS 0.
    INCLUDE STRUCTURE RSMPE_BUT. "rel 4.0
    DATA END OF BUT.
    PF-Keys
    DATA BEGIN OF PFK OCCURS 0.
    INCLUDE STRUCTURE RSMPE_PFK. "rel 4.0
    DATA END OF PFK.
    Function sets
    DATA BEGIN OF SET OCCURS 0.
    INCLUDE STRUCTURE RSMPE_STAF. "rel 4.0
    DATA END OF SET.
    Documentation
    DATA BEGIN OF DOC OCCURS 0.
    INCLUDE STRUCTURE RSMPE_ATRT. "rel 4.0
    DATA END OF DOC.
    Title codes with text
    DATA: BEGIN OF TIT OCCURS 0.
    INCLUDE STRUCTURE RSMPE_TITT. "rel 4.0
    DATA: END OF TIT.
    DATA BEGIN OF FTX OCCURS 0. "rel 4.0
    INCLUDE STRUCTURE RSMPTEXTS.
    DATA END OF FTX.
    rel 3.1 CUA components.
    Status
    DATA BEGIN OF OLD_STA OCCURS 0.
    INCLUDE STRUCTURE RSEU1_GEN. " rel 3.1
    DATA END OF OLD_STA.
    Functions
    DATA BEGIN OF OLD_FUN OCCURS 0.
    INCLUDE STRUCTURE RSEU1_FUN. "rel 3.1
    DATA END OF OLD_FUN.
    Menus
    DATA BEGIN OF OLD_MEN OCCURS 0.
    INCLUDE STRUCTURE RSEU1_MEN. "rel 3.1
    DATA END OF OLD_MEN.
    Menus (texts)
    DATA BEGIN OF OLD_MTX OCCURS 0.
    INCLUDE STRUCTURE RSEU1_TXM. "rel 3.1
    DATA END OF OLD_MTX.
    Action Bar
    DATA BEGIN OF OLD_ACT OCCURS 0.
    INCLUDE STRUCTURE RSEU1_ACT. "rel 3.1
    DATA END OF OLD_ACT.
    Push Buttons
    DATA BEGIN OF OLD_BUT OCCURS 0.
    INCLUDE STRUCTURE RSEU1_BUT. "rel 3.1
    DATA END OF OLD_BUT.
    PF-Keys
    DATA BEGIN OF OLD_PFK OCCURS 0.
    INCLUDE STRUCTURE RSEU1_PFK. "rel 3.1
    DATA END OF OLD_PFK.
    Function sets
    DATA BEGIN OF OLD_SET OCCURS 0.
    INCLUDE STRUCTURE RSEU1_SET. "rel 3.1
    DATA END OF OLD_SET.
    Documentation
    DATA BEGIN OF OLD_DOC OCCURS 0.
    INCLUDE STRUCTURE RSEU1_ETM. "rel 3.1
    DATA END OF OLD_DOC.
    Title codes with text
    DATA: BEGIN OF OLD_TIT OCCURS 0.
    INCLUDE STRUCTURE TITLE. "rel 3.1
    DATA: END OF OLD_TIT.
    dynamic function text
    DATA BEGIN OF FDN OCCURS 1.
    INCLUDE STRUCTURE RSEU1_FDYN. "not req for rel 4.
    DATA END OF FDN.
    Icons
    DATA BEGIN OF FIN OCCURS 1.
    INCLUDE STRUCTURE RSEU1_ICON. "not req for rel 4
    DATA END OF FIN.
    dynamic menu texts
    DATA BEGIN OF MDN OCCURS 1.
    INCLUDE STRUCTURE RSEU1_MDYN. "not req for rel 4.
    DATA END OF MDN.
    Symbol list
    DATA BEGIN OF SYM OCCURS 0.
    INCLUDE STRUCTURE RSEU1_SYMB.
    DATA END OF SYM.
    Status Short text
    DATA BEGIN OF STX OCCURS 0.
    INCLUDE STRUCTURE RSEU1_CTX.
    DATA END OF STX.
    Attributes for function key settings (menu bars) Rel 3.0
    DATA BEGIN OF ATT OCCURS 0.
    INCLUDE STRUCTURE RSEU1_HAT.
    DATA END OF ATT.
    Include-Menus
    DATA BEGIN OF INC OCCURS 3.
    INCLUDE STRUCTURE RSEU1_INC.
    DATA END OF INC.
    Last used numbers
    DATA BEGIN OF LAST.
    INCLUDE STRUCTURE RSEU1_LST.
    DATA END OF LAST.
    data for call transaction (SE41 to re-generate the CUA)
    DATA: BEGIN OF T_BDC_TAB OCCURS 0.
    INCLUDE STRUCTURE BDCDATA. "BDC data
    DATA: END OF T_BDC_TAB.
    DATA: BEGIN OF T_MESSTAB OCCURS 0.
    INCLUDE STRUCTURE BDCDATA.
    DATA: END OF T_MESSTAB.
    / Program data */
    DATA: NUMBER(4) TYPE N,
    OLDNUM(4) TYPE N,
    FILESIZE TYPE I,
    NR_OF_BYTES TYPE I,
    I(3) TYPE P,
    IX(3) TYPE P,
    J(3) TYPE P,
    L(3) TYPE P,
    CUA-FLAG(1) TYPE C,
    CUA_RETURN(10) TYPE C,
    DYNPRO_MESSAGE(160) TYPE C,
    DYNPRO_LINE TYPE P,
    DYNPRO_WORD(30) TYPE C,
    NUM(3) TYPE N,
    DYNNAME(44) TYPE C,
    FN1(128) TYPE C,
    FN2(128) TYPE C,
    FN3(128) TYPE C,
    W_ITERATE(1) TYPE C,
    MAIN(1) TYPE C,
    FUNC(1) TYPE C,
    OLDNAME(40) TYPE C,
    OLD-FUNC(8) TYPE C,
    NEW-FUNC(8) TYPE C,
    FOUND(1) TYPE C,
    LANGUAGE LIKE SY-LANGU,
    FIRST-TIME(1) TYPE C VALUE 'Y',
    OK-CODE(5) TYPE C,
    NAME(40) TYPE C, "rel 4
    TXLINE(70) TYPE C,
    LINE(132) TYPE C.
    DATA:
    UL_FILE(128) TYPE C,
    DL_FILE(128) TYPE C,
    DOSLINE(72) TYPE C.
    DATA: BEGIN OF DOSDIR OCCURS 0,
    TEXT(72),
    END OF DOSDIR.
    DATA: BEGIN OF I_PROG OCCURS 0,
    NAME(40),
    END OF I_PROG.
    DATA: BEGIN OF I_PROGT OCCURS 0,
    NAME(40),
    END OF I_PROGT.
    DATA: BEGIN OF I_INCLUDE OCCURS 0,
    NAME(40),
    HANDLED(1) TYPE C,
    END OF I_INCLUDE.
    DATA: BEGIN OF I_INCL OCCURS 0,
    NAME(40),
    END OF I_INCL.
    DATA: BUFFER(1024).
    DATA: WINSYS(3).
    DATA: GLOBAL_FILEMASK_MASK(20), GLOBAL_FILEMASK_TEXT(20).
    DATA: GLOBAL_FILEMASK_ALL(80).
    DATA: T_FILENAME(128),
    TMP_FILENAME(128),
    T_MODE(1),
    FIELDLN TYPE I.
    DEFINE_TABLE I_DYNPFIELDS DYNPREAD 0. "dynpro fields to be updated
    DATA: I_FLDS LIKE HELP_VALUE OCCURS 0 WITH HEADER LINE.
    FIELD-SYMBOLS: <F>.
    / Parameters */
    SELECTION-SCREEN BEGIN OF BLOCK A1 WITH FRAME TITLE TEXT-001.
    SELECTION-SCREEN SKIP 1.
    SELECT-OPTIONS REPID FOR TRDIR-NAME OBLIGATORY .
    PARAMETERS:
    FUNCTION(1) TYPE C OBLIGATORY, "Function
    DSNAME(40) TYPE C, "Data set name
    INCLUDES(1) TYPE C DEFAULT 'N', "Resolve Includes
    IMASK(40) TYPE C, "Include Mask
    CLASS LIKE TRDIR-CLAS,
    AUTHOR LIKE TRDIR-CNAM, "Author
    APPL LIKE TRDIR-APPL,
    PATH(88) TYPE C DEFAULT 'A:\',
    REL3(1) TYPE C.
    SELECTION-SCREEN SKIP 1.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(70) TEXT-004.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(70) TEXT-005.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN SKIP 1.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(70) TEXT-002.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(70) TEXT-003.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK A1.
    / Check users workstation is running WINDOWS, */
    / WINDOWS 95, or WINDOWS NT. OS/2 no good for */
    / this application. */
    CALL FUNCTION 'WS_QUERY'
    EXPORTING
    QUERY = 'WS'
    IMPORTING
    RETURN = WINSYS.
    IF WINSYS(2) NE 'WN'. "Win 3.X no good either
    WRITE: / 'Windows NT or Windows 95/98 is required'.
    EXIT.
    ENDIF.
    / Get names of programs to be handled. */
    / Name can be a single value, many values or ranges */
    / as per standard SELECT-OPTIONS on selection screen */
    / On Download read TRDIR and store program names in a table */
    / as per selection options. */
    / On upload read the specified directory for all files of */
    / type .EEE from specified directory */
    / compare file names with selection criteria */
    MOVE FUNCTION TO FUNC.
    MOVE 'Y' TO MAIN.
    CASE FUNC.
    WHEN 'U'. "Upload required
    PERFORM READ_DOS_DIRECTORY.
    PERFORM GET_RANGE_UL. "Get list of progs to process
    WHEN 'D'. "Download required
    PERFORM GET_RANGE_DL. "Get list of progs to process
    WHEN OTHERS.
    WRITE: / 'Function not performed due to user request'.
    EXIT.
    ENDCASE.
    SORT I_PROG.
    DELETE ADJACENT DUPLICATES FROM I_PROG.
    For download INCLUDE handling can be resolved via function
    module call.
    All Includes within Includes are also resolved by the function
    module call.
    Note that this method does not work if program itself is of type
    I (it's an include)
    In this case we can still search the source.
    IF FUNC = 'D'.
    IF INCLUDES = 'Y'.
    PERFORM GET_INCLUDES_DL.
    PERFORM PROCESS_INCLUDES_DL.
    ENDIF.
    ENDIF.
    Program list from selection criteria i.e excluding INCLUDES found
    LOOP AT I_PROG.
    MOVE I_PROG-NAME TO R1-NAME.
    APPEND R1.
    DESCRIBE TABLE R1 LINES I.
    WHILE I NE 0.
    PERFORM EXECUTE-FUNCTION.
    ENDWHILE.
    REFRESH R1.
    ENDLOOP.
    We need to check now for INCLUDES on DOWNLOAD when the INCLUDE
    program itself is of type I. In this case the function call
    will not return the INCLUDES. For example we could be
    downloading ZTESTTOP (an Include itself) which as an include
    ZTEST01.
    The process fortunately is the same as the UPLOAD function
    except of course we need to read the library instead of the
    DOS directory
    process INCLUDE modules for Upload
    On upload the procedure is more complex as Includes within
    Includes can only be resolved by scanning the code and
    searching if the program exists in the directory.
    To get all INCLUDES within INCLUDES entries in table I_INCL
    that do not exist in I_INCLUDE are copied to table I_INCLUDE
    after each entire pass of table i_INCLUDE and table is then
    re-looped through. Programs in table I_INCLUDE that have already
    been processed have a "Y" indicator set in I_INCLUDE-AVAIL.
    if func = 'U'.
    IF INCLUDES = 'Y'.
    DESCRIBE TABLE I_INCL LINES I.
    IF I > 0.
    W_ITERATE = 'Y'.
    ELSE.
    W_ITERATE = ' '.
    ENDIF.
    WHILE W_ITERATE = 'Y'.
    PERFORM PROCESS_INCLUDES_UL.
    PERFORM LOOP_THROUGH.
    DESCRIBE TABLE I_INCL LINES I.
    IF I > 0.
    W_ITERATE = 'Y'.
    ELSE.
    W_ITERATE = ' '.
    ENDIF.
    ENDWHILE.
    endif.
    ENDIF.
    DESCRIBE TABLE I_INCLUDE LINES I.
    IF I > 0.
    SKIP 1.
    WRITE: / ' Included Programs found'.
    SKIP 1.
    LOOP AT I_INCLUDE.
    WRITE I_INCLUDE-NAME TO LINE(40).
    CONDENSE LINE.
    WRITE: / LINE(80).
    ENDLOOP.
    ENDIF.
    / Table R contains ABAP names to up / download. */
    / Loop through table R and perform up / download */
    / for each program. */
    / Table R1 contains INCLUDE names found (if any) */
    / As each */
    FORM EXECUTE-FUNCTION.
    LOOP AT R1.
    MOVE-CORRESPONDING R1 TO R.
    APPEND R.
    ENDLOOP.
    REFRESH R1.
    LOOP AT R.
    REFRESH : T, E1, H1, F1, S, U.
    PERFORM PROCESS.
    MOVE 'N' TO MAIN.
    ENDLOOP.
    REFRESH R.
    DESCRIBE TABLE R1 LINES I.
    ENDFORM.
    / Build file names for UP/DOWNLOAD */
    / 3 files are generated per ABAP. */
    / 1) ABAP Path\PROGNAME.EEE (ABAP, Attr,Texts) */
    / Logic Path\PROGNAME.EEE (Dynpro Source Logic) */
    / CUA Path\PROGNAME.EEE (CUA components - keys etc) */
    / 2) Header Path\PROGNAME.HHH (Dynpro Header) */
    / 3) Fields Path\PROGNAME.FFF (Dynpro Field definitions )*/
    / ( If alternate file name specified -DSNAME- this will */
    / be used instead. This is only valid for the main program. */
    / INCLUDED programs will have file names as specified */
    / above). */
    / By using this scheme it saves the user from having to */
    / be prompted for 3 file names. */
    / If you want multiple copies / versions on disk either */
    / rename the old versions or specify a different directory in */
    / the path parameter. */
    FORM PROCESS.
    MOVE PATH TO FN1.
    CASE MAIN.
    WHEN 'Y'.
    IF DSNAME NE SPACE.
    WRITE DSNAME TO FN1+66. "rel 4
    ELSE.
    WRITE R-NAME TO FN1+66. "rel 4
    ENDIF.
    WHEN OTHERS.
    WRITE R-NAME TO FN1+66. "rel 4
    ENDCASE.
    MOVE FN1 TO FN2.
    MOVE FN1 TO FN3.
    WRITE '.HHH' TO FN1+124(4). "rel 4
    WRITE '.FFF' TO FN2+124(4). "rel 4
    WRITE '.EEE' TO FN3+124(4). "rel 4
    CONDENSE FN1 NO-GAPS.
    CONDENSE FN2 NO-GAPS.
    CONDENSE FN3 NO-GAPS.
    NAME = R-NAME.
    CASE FUNC.
    WHEN 'D'.
    PERFORM DOWNLOAD_OBJECTS.
    CLEAR LINE.
    WRITE : 'ABAP : ' TO LINE.
    WRITE R-NAME TO LINE+8.
    WRITE 'has been unloaded' TO LINE+55.
    CONDENSE LINE.
    WRITE: / LINE.
    DESCRIBE TABLE T LINES I.
    IF I = 0.
    WRITE: / 'No Dynpros were found for unload function'.
    ELSE.
    WRITE: / 'The following Dynpros have been unloaded : '.
    PERFORM LOOP_THROUGH_T.
    ENDIF.
    WHEN 'U'.
    PERFORM UPLOAD_OBJECTS.
    DESCRIBE TABLE T LINES I.
    CASE I.
    WHEN 0.
    WRITE: / 'No Dynpros were found for restore function'.
    WHEN OTHERS.
    WRITE: / 'The following Dynpros have been restored : '.
    PERFORM LOOP_THROUGH_T.
    ENDCASE.
    IF MAIN EQ 'Y'.
    CASE OLDNAME.
    WHEN SPACE.
    CLEAR LINE.
    WRITE : 'ABAP : ' TO LINE.
    WRITE R-NAME TO LINE+8.
    WRITE 'has been restored' TO LINE+55.
    CONDENSE LINE.
    WRITE: / LINE.
    WHEN OTHERS.
    CLEAR LINE.
    WRITE : 'ABAP : ' TO LINE.
    WRITE R-NAME TO LINE+8.
    WRITE 'has been restored - original name :'
    TO LINE+55.
    WRITE OLDNAME TO LINE+92.
    CONDENSE LINE.
    WRITE: / LINE.
    ENDCASE.
    ELSE.
    CLEAR LINE.
    WRITE : 'ABAP : ' TO LINE.
    WRITE R-NAME TO LINE+8.
    WRITE 'has been restored' TO LINE+55.
    CONDENSE LINE.
    WRITE: / LINE.
    ENDIF.
    ENDCASE.
    ENDFORM.
    / print progname + dynpro nrs that have been processed. */
    FORM LOOP_THROUGH_T.
    LOOP AT T.
    CLEAR LINE.
    WRITE R-NAME TO LINE.
    WRITE T-NUMBER TO LINE+50.
    CONDENSE LINE.
    WRITE: / LINE.
    ENDLOOP.
    ENDFORM.
    / Download Objects */
    FORM DOWNLOAD_OBJECTS.
    PERFORM UNLOAD_ABAP. "ABAP source, texts, attr
    SELECT SINGLE * FROM TRDIR
    WHERE NAME EQ R-NAME.
    IF TRDIR-SUBC = 'I'.
    CASE INCLUDES. "Included file wanted
    WHEN 'Y'.
    PERFORM SCAN4-INCLUDES.
    ENDCASE.
    ENDIF.
    PERFORM UNLOAD_CUA. "CUA stuff
    PERFORM DOWNLOAD_DATA. "Download EEE file to PC
    PERFORM BUILD_T. "Build table of all dynpros in ABAP
    DESCRIBE TABLE T LINES I.
    CASE I.
    WHEN 0. "if no dynpros exist then cannot download any
    PERFORM DOWNLOAD_DATA. "Download EEE file to PC
    WHEN OTHERS.
    PERFORM UNLOAD_DYNPROS. "Get Raw dynpros from SAP
    PERFORM UNLOAD_DYNPRO_COMPONENTS."Convert to table
    PERFORM DOWNLOAD_DATA. "Download ABAP etc. to PC
    PERFORM DOWNLOAD_BIN_H1. "Download dynpro header
    PERFORM DOWNLOAD_BIN_F1. "Download dynpro fields
    ENDCASE.
    ENDFORM.
    / Split ABAP up into its component parts */
    / A) Program source (72) */
    / B) Texts (132) */
    / C) Attributes (117) */
    / D) CUA stuff (Various) */
    FORM UNLOAD_ABAP.
    / Get ABAP language. Only required on download. */
    SELECT SINGLE * FROM TRDIR
    WHERE NAME EQ R-NAME.
    MOVE TRDIR-RLOAD TO R-LANGUAGE.
    READ REPORT R-NAME INTO S. "Get source into table S
    MOVE '????SRCE' TO S-TXT.
    INSERT S INDEX 1.
    / Text elements, Numbered texts, headings, selection texts */
    / Read text elements with logon language. If they don't */
    / exist read with the value taken from TRDIR. */
    READ TEXTPOOL R-NAME INTO U LANGUAGE SY-LANGU.
    IF SY-SUBRC NE 0.
    READ TEXTPOOL R-NAME INTO U LANGUAGE R-LANGUAGE.
    ENDIF.
    DESCRIBE TABLE U LINES I.
    CASE I.
    WHEN 0.
    WHEN OTHERS.
    MOVE '????TEXT' TO S-TXT.
    APPEND S.
    LOOP AT U.
    MOVE U-TXT TO S-TXT.
    APPEND S.
    DELETE U.
    ENDLOOP.
    ENDCASE.
    / Retrieve Attributes from TRDIR and add to table S */
    / Change language to logged on language */
    MOVE '????ATTR' TO S-TXT.
    APPEND S.
    SELECT SINGLE * FROM TRDIR
    WHERE NAME EQ R-NAME.
    MOVE SY-LANGU TO TRDIR-RLOAD.
    MOVE-CORRESPONDING TRDIR TO DIR.
    MOVE DIR TO S-TXT.
    APPEND S.
    ENDFORM.
    / retrieve CUA stuff and append to table S. */
    FORM UNLOAD_CUA.
    MOVE R-NAME TO EU_KEY-NAME. "Program name for CUA
    MOVE 'D' TO EU_KEY-SPRSL. "CUA seems to want D as lang
    MOVE R-LANGUAGE TO EU_KEY-SPRSL. "Language "rel 2.2
    IMPORT STA FUN MEN MTX ACT BUT PFK SET LAST INC STX DOC "rel 2.2
    IMPORT STA STX FUN MEN MTX ACT BUT PFK SET LAST INC DOC "rel 3.0
    ATT FDN MDN SYM FIN "rel 3.0
    FROM DATABASE EUDB(CU) ID EU_KEY.
    IF SY-SUBRC NE 0. "No statuses
    EXIT.
    ENDIF.
    read titles in logged on language. If not present use
    language from TRDIR.
    CASE REL3.
    WHEN SPACE. "(rel 4)
    SELECT * FROM RSMPTEXTS WHERE PROGNAME EQ R-NAME
    AND SPRSL = SY-LANGU.
    MOVE-CORRESPONDING RSMPTEXTS TO FTX.
    APPEND FTX.
    ENDSELECT.
    IF SY-SUBRC NE 0.
    SELECT * FROM RSMPTEXTS WHERE PROGNAME EQ R-NAME
    AND SPRSL = R-LANGUAGE.
    MOVE-CORRESPONDING RSMPTEXTS TO FTX.
    APPEND FTX.
    ENDSELECT.
    ENDIF.
    DESCRIBE TABLE FTX LINES I.
    IF I > 0.
    MOVE '????FTXT' TO S-TXT.
    APPEND S.
    LOOP AT FTX.
    MOVE FTX TO S-TXT.
    APPEND S.
    ENDLOOP.
    ENDIF.
    WHEN OTHERS.
    SELECT * FROM TITLE WHERE PROGNAME EQ R-NAME
    AND DDLANGUAGE EQ SY-LANGU.
    MOVE-CORRESPONDING TITLE TO TIT.
    APPEND TIT.
    ENDSELECT.
    IF SY-SUBRC NE 0.
    SELECT * FROM TITLE WHERE PROGNAME EQ R-NAME
    AND DDLANGUAGE EQ R-LANGUAGE.
    MOVE-CORRESPONDING TITLE TO TIT.
    APPEND TIT.
    ENDSELECT.
    ENDIF.
    ENDCASE.
    DESCRIBE TABLE STA LINES I.
    IF I > 0.
    MOVE '????STAT' TO S-TXT.
    APPEND S.
    LOOP AT STA.
    MOVE STA TO S-TXT.
    APPEND S.
    ENDLOOP.
    ENDIF.
    DESCRIBE TABLE FUN LINES I.
    IF I > 0.
    MOVE '????FUNC' TO S-TXT.
    APPEND S.
    LOOP AT FUN.
    MOVE FUN TO S-TXT.
    APPEND S.
    ENDLOOP.
    ENDIF.
    DESCRIBE TABLE MEN LINES I.
    IF I > 0.
    MOVE '????MEN1' TO S-TXT.
    APPEND S.
    LOOP AT MEN.
    MOVE MEN TO S-TXT.
    APPEND S.
    ENDLOOP.
    ENDIF.
    DESCRIBE TABLE MTX LINES I.
    IF I > 0.
    MOVE '????MTX1' TO S-TXT.
    APPEND S.
    LOOP AT MTX.
    MOVE MTX TO S-TXT.
    APPEND S.
    ENDLOOP.
    ENDIF.
    DESCRIBE TABLE ACT LINES I.
    IF I > 0.
    MOVE '????ACTN' TO S-TXT.
    APPEND S.
    LOOP AT ACT.
    MOVE ACT TO S-TXT.
    APPEND S.
    ENDLOOP.
    ENDIF.
    DESCRIBE TABLE BUT LINES I.
    IF I > 0.
    MOVE '????BUTN' TO S-TXT.
    APPEND S.
    LOOP AT BUT.
    MOVE BUT TO S-TXT.
    APPEND S.
    ENDLOOP.
    ENDIF.
    DESCRIBE TABLE PFK LINES I.
    IF I > 0.
    MOVE '????PFKY' TO S-TXT.
    APPEND S.
    LOOP AT PFK.
    MOVE PFK TO S-TXT.
    APPEND S.
    ENDLOOP.
    ENDIF.
    DESCRIBE TABLE SET LINES I.
    IF I > 0.
    MOVE '????SETS' TO S-TXT.
    APPEND S.
    LOOP AT SET.
    MOVE SET TO S-TXT.
    APPEND S.
    ENDLOOP.
    ENDIF.
    IF LAST NE SPACE.
    MOVE '????LIST' TO S-TXT.
    APPEND S.
    MOVE LAST TO S-TXT.
    APPEND S.
    ENDIF.
    DESCRIBE TABLE INC LINES I.
    IF I > 0.
    MOVE '????INCL' TO S-TXT.
    APPEND S.
    LOOP AT INC.
    MOVE INC TO S-TXT.
    APPEND S.
    ENDLOOP.
    ENDIF.
    DESCRIBE TABLE STX LINES I.
    IF I > 0.
    MOVE '????STXT' TO S-TXT.
    APPEND S.
    LOOP AT STX.
    MOVE STX TO S-TXT.
    APPEND S.
    ENDLOOP.
    ENDIF.
    DESCRIBE TABLE DOC LINES I.
    IF I > 0.
    MOVE '????DOCN' TO S-TXT.
    APPEND S.
    LOOP AT DOC.
    MOVE DOC TO S-TXT.
    APPEND S.
    ENDLOOP.
    ENDIF.
    DESCRIBE TABLE TIT LINES I.
    IF I > 0.
    MOVE '????TITL' TO S-TXT.
    APPEND S.
    LOOP AT TIT.
    MOVE TIT TO S-TXT.
    APPEND S.
    ENDLOOP.
    ENDIF.
    Next 5 tables are rel 3.0 specific (ATT, FDN, MDN, SYM, FIN)
    DESCRIBE TABLE ATT LINES I.
    IF I > 0.
    MOVE '????VATT' TO S-TXT.
    APPEND S.
    LOOP AT ATT.
    MOVE ATT TO S-TXT.
    APPEND S.
    ENDLOOP.
    ENDIF.
    DESCRIBE TABLE FDN LINES I.
    IF I > 0.
    MOVE '????VFDN' TO S-TXT.
    APPEND S.
    LOOP AT FDN.
    MOVE FDN TO S-TXT.
    APPEND S.
    ENDLOOP.
    ENDIF.
    DESCRIBE TABLE MDN LINES I.
    IF I > 0.
    MOVE '????VMDN' TO S-TXT.
    APPEND S.
    LOOP AT MDN.
    MOVE MDN TO S-TXT.
    APPEND S.
    ENDLOOP.
    ENDIF.
    DESCRIBE TABLE SYM LINES I.
    IF I > 0.
    MOVE '????VSYM' TO S-TXT.
    APPEND S.
    LOOP AT SYM.
    MOVE SYM TO S-TXT.
    APPEND S.
    ENDLOOP.
    ENDIF.
    DESCRIBE TABLE FIN LINES I.
    IF I > 0.
    MOVE '????VFIN' TO S-TXT.
    APPEND S.
    LOOP AT FIN.
    MOVE FIN TO S-TXT.
    APPEND S.
    ENDLOOP.
    ENDIF.
    ENDFORM.
    / Upload Objects. */
    FORM UPLOAD_OBJECTS.
    PERFORM UPLOAD_EEE. "ABAP,texts,attr dynpro logic
    DESCRIBE TABLE E1 LINES I.
    IF I > 0. "Do dynpro components exist
    PERFORM UPLOAD_HHH. "dynpro header
    PERFORM UPLOAD_FFF. "dynpro fields.
    PERFORM RECONSTRUCT_DYNPROS. "load + gen dynpros
    ENDIF.
    ENDFORM.
    / Build table containing dynpro names and numbers */
    FORM BUILD_T.
    SELECT * FROM D020S WHERE PROG EQ R-NAME.
    T-NUMBER = D020S-DNUM.
    T-NAME = D020S-PROG.
    APPEND T.
    ENDSELECT.
    ENDFORM.
    / Split dynpros into constituent parts. */
    FORM UNLOAD_DYNPROS.
    MOVE 'Y' TO FIRST-TIME.
    LOOP AT T.
    REFRESH: F, E.
    CLEAR: H, F, E.
    PERFORM BUILD_HHH. "Dynpro Header
    PERFORM BUILD_FFF. "Dynpro Fields
    PERFORM BUILD_EEE_DYNP. "Dynpro Logic
    ENDLOOP.
    ENDFORM.
    / Header H length 284. */
    FORM BUILD_HHH.
    MOVE T-NAME TO DYNNAME(40). "rel 4.
    MOVE T-NUMBER TO DYNNAME+40(4). "rel 4.
    IMPORT DYNPRO H F E M ID DYNNAME.
    MOVE T-NAME TO H1-NAME.
    MOVE T-NUMBER TO H1-NUMBER.
    MOVE-CORRESPONDING H TO H1.
    APPEND H1.
    ENDFORM.
    / Fields D021S Len 87. */
    FORM BUILD_FFF.
    MOVE T-NAME TO F1-NAME.
    MOVE T-NUMBER TO F1-NUMBER.
    LOOP AT F.
    MOVE-CORRESPONDING F TO F1.
    APPEND F1.
    DELETE F.
    ENDLOOP.
    ENDFORM.
    / Dynpro Logic D022S E */
    FORM BUILD_EEE_DYNP.
    MOVE T-NAME TO E1-NAME.
    MOVE T-NUMBER TO E1-NUMBER.
    LOOP AT E.
    MOVE-CORRESPONDING E TO E1.
    APPEND E1.
    DELETE E.
    ENDLOOP.
    ENDFORM.
    / Unload Constituent parts of dynpro. */
    FORM UNLOAD_DYNPRO_COMPONENTS.
    MOVE '????LOGC' TO S-TXT.
    APPEND S.
    LOOP AT E1.
    MOVE E1 TO S-TXT.
    APPEND S.
    DELETE E1.
    ENDLOOP.
    FREE E1.
    LOOP AT T.
    MOVE 'N' TO FOUND.
    SELECT SINGLE * FROM D020T "use logged on language
    WHERE PROG EQ T-NAME
    AND DYNR EQ T-NUMBER
    AND LANG EQ SY-LANGU.
    IF SY-SUBRC NE 0. "try original language.
    SELECT SINGLE * FROM D020T
    WHERE PROG EQ T-NAME
    AND DYNR EQ T-NUMBER
    AND LANG EQ R-LANGUAGE.
    ENDIF.
    IF SY-SUBRC EQ 0.
    IF FOUND = 'N'.
    MOVE '????DTIT' TO S-TXT.
    APPEND S.
    MOVE 'Y' TO FOUND.
    ENDIF.
    MOVE T-NAME TO S-TXT.
    WRITE T-NUMBER TO S-TXT+8(4).
    WRITE D020T-DTXT TO S-TXT+12(60).
    APPEND S.
    ENDIF.
    MOVE 'N' TO FOUND.
    SELECT * FROM D021T
    WHERE PROG EQ T-NAME
    AND DYNR EQ T-NUMBER
    AND LANG EQ SY-LANGU. "logged on language
    IF FOUND = 'N'.
    MOVE '????DTXT' TO S-TXT.
    APPEND S.
    MOVE 'Y' TO FOUND.
    ENDIF.
    MOVE-CORRESPONDING D021T TO DTXT.
    MOVE DTXT TO S-TXT.
    APPEND S.
    ENDSELECT.
    CASE SY-SUBRC.
    WHEN 0.
    WHEN OTHERS. "try original language
    SELECT * FROM D021T
    WHERE PROG EQ T-NAME
    AND DYNR EQ T-NUMBER
    AND LANG EQ R-LANGUAGE.
    IF FOUND = 'N'.
    MOVE '????DTXT' TO S-TXT.
    APPEND S.
    MOVE 'Y' TO FOUND.
    ENDIF.
    MOVE-CORRESPONDING D021T TO DTXT.
    MOVE DTXT TO S-TXT.
    APPEND S.
    ENDSELECT.
    ENDCASE.
    ENDLOOP.
    ENDFORM.
    / Build the original dynpro component tables. */
    / Table H1 contains 1 entry for each dynpro. H1 contains */
    / the header for the dynpro prefixed by the program name */
    / and dynpro number. */
    / By looping round this table we can re-build the F */
    / (Fields) and E (Logic) components. By stripping off the */
    / program name and dynpro number the original tables are */
    / re-created. (Tables F1 and E1 also have a prefix of */
    / Program name and dynpro nr). */
    / After the original set of tables has been re-created we */
    / use R3 - SYSTEM-CALL (rel 2.2) to generate the screen */
    / and then get the next entry in table H1 to build the */
    / next screen. For releases 3.0 and higher use generate */
    / dynpro. */
    FORM RECONSTRUCT_DYNPROS.
    LOOP AT H1.
    CASE MAIN.
    WHEN 'Y'.
    if h1-name ne repid.
    IF H1-NAME NE R1-NAME.
    MOVE H1-NAME TO OLDNAME.
    ENDIF.
    ENDCASE.
    PERFORM RECONSTRUCT_F.
    PERFORM RECONSTRUCT_E.
    MOVE-CORRESPONDING H1 TO H.
    IF MAIN = 'Y'.
    move repid to h-prog.
    MOVE R1-NAME TO H-PROG.
    move repid to dynname.
    MOVE R1-NAME TO DYNNAME.
    ELSE.
    MOVE H1-NAME TO H-PROG.
    MOVE H1-NAME TO DYNNAME.
    ENDIF.
    MOVE H1-NUMBER TO H-DNUM.
    WRITE H1-NUMBER TO DYNNAME+40(4).
    EXPORT DYNPRO H F E M ID DYNNAME.
    SYSTEM-CALL GENERATE-SCREEN DYNNAME. "Up to rel 2.2
    GENERATE DYNPRO H F E M ID DYNNAME "R 3.0, 4.0, 4.5
    MESSAGE DYNPRO_MESSAGE
    LINE DYNPRO_LINE
    WORD DYNPRO_WORD.
    REFRESH: M, F, E.
    CLEAR: M, H, F, E.
    ENDLOOP.
    ENDFORM.
    / Re-build Fields table */
    FORM RECONSTRUCT_F.
    LOOP AT F1 WHERE NAME EQ H1-NAME AND
    NUMBER EQ H1-NUMBER.
    MOVE-CORRESPONDING F1 TO F.
    APPEND F.
    ENDLOOP.
    ENDFORM.
    / Re-build Logic table */
    FORM RECONSTRUCT_E.
    LOOP AT E1 WHERE NAME EQ H1-NAME AND
    NUMBER EQ H1-NUMBER.
    MOVE-CORRESPONDING E1 TO E.
    APPEND E.
    ENDLOOP.
    ENDFORM.
    / scan for included files (Upload) */
    FORM SCAN4-INCLUDES.
    IF FUNC = 'D'. "Downloads - whole table needs to be scanned
    LOOP AT S.
    PERFORM SEARCH-FUNC.
    ENDLOOP.
    ENDIF.
    IF FUNC = 'U'. "On upload scan line by line as we are re-building abap
    PERFORM SEARCH-FUNC.
    ENDIF.
    ENDFORM.
    / scan for text INCLUDE xxxxxxxx */
    / reject INCLUDE STRUCTURE as structure not a valid */
    / program name */
    FORM SEARCH-FUNC.
    CONDENSE S-TXT.
    SEARCH S-TXT FOR '.INCLUDE .'.
    CASE SY-SUBRC.
    WHEN 0.
    IF S-TXT+8(9) EQ 'STRUCTURE'
    OR S-TXT+8(9) EQ 'structure'
    OR S-TXT+8(6) EQ '<ICON>' "rel 3.0c 3.0d
    OR S-TXT+8(6) EQ '<icon>'
    OR S-TXT+8(6) EQ '<type>'
    OR S-TXT+8(6) EQ '<TYPE>'
    OR S-TXT+8(9) EQ '<methods>'
    OR S-TXT+8(9) EQ '<METHODS>'.
    EXIT.
    ENDIF.
    IF SY-FDPOS EQ 0. "INCLUDE must be in pos 1 (by reason of condense)
    PERFORM VALIDATE_INCLUDE.
    ELSE.
    EXIT.
    ENDIF.
    ENDCASE.
    ENDFORM.
    / Validate INCLUDES . */
    FORM VALIDATE_INCLUDE.
    SEARCH S-TXT FOR '...' STARTING AT 9 ENDING AT 39.
    CASE SY-SUBRC.
    WHEN 0.
    WHEN OTHERS.
    SEARCH S-TXT FOR '. .' STARTING AT 9 ENDING AT 38.
    IF SY-SUBRC NE 0.
    EXIT.
    ENDIF.
    ENDCASE.
    IX = SY-FDPOS.
    ASSIGN S-TXT+8(IX) TO <F>.
    Now check for Include Mask for example if include mask was set to
    Z* then only include programs whose first letter starts with a Z.
    1) get length of the INCLUDE program name. Must be less than or
    equal 40.
    2) Compare it with the Include mask.
    3) If Ok add include program name to include table
    clear i_include.
    move <f> to i_include-name.
    CLEAR I_INCL.
    SEARCH IMASK FOR '.*.'.
    IF SY-SUBRC = 0.
    CONDENSE IMASK.
    ENDIF.
    IF ( <F> CP IMASK OR IMASK = ' ' ).
    READ TABLE I_INCL WITH KEY = <F>.
    IF SY-SUBRC NE 0.
    MOVE <F> TO I_INCL-NAME.
    move 1 to i_include-count.
    collect i_include.
    APPEND I_INCL.
    ENDIF.
    ENDIF.
    ENDFORM.
    / Download table S. */
    FORM DOWNLOAD_DATA.
    CLEAR TXLINE.
    WRITE 'Downloading ' TO TXLINE.
    WRITE R1-NAME TO TXLINE+12.
    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
    EXPORTING
    PERCENTAGE = 0
    TEXT = TXLINE
    EXCEPTIONS
    OTHERS = 1.
    CALL FUNCTION 'WS_DOWNLOAD'
    EXPORTING
    FILENAME = FN3
    FILETYPE = 'ASC'
    TABLES
    DATA_TAB = S.
    ENDFORM.
    / Download Binary files H1 */
    FORM DOWNLOAD_BIN_H1.
    DESCRIBE FIELD H1 LENGTH J.
    DESCRIBE TABLE H1 LINES I.
    NR_OF_BYTES = I * J.
    CALL FUNCTION 'WS_DOWNLOAD'
    EXPORTING
    FILENAME = FN1
    FILETYPE = 'BIN'
    BIN_FILESIZE = NR_OF_BYTES
    IMPORTING
    FILELENGTH = FILESIZE
    TABLES
    DATA_TAB = H1.
    ENDFORM.
    / Download Binary files F1 */
    FORM DOWNLOAD_BIN_F1.
    DESCRIBE FIELD F1 LENGTH J.
    DESCRIBE TABLE F1 LINES I.
    NR_OF_BYTES = I * J.
    CALL FUNCTION 'WS_DOWNLOAD'
    EXPORTING
    FILENAME = FN2
    FILETYPE = 'BIN'
    BIN_FILESIZE = NR_OF_BYTES
    IMPORTING
    FILELENGTH = FILESIZE
    TABLES
    DATA_TAB = F1.
    ENDFORM.
    / Upload data from file .EEE */
    FORM UPLOAD_EEE.
    CLEAR TXLINE.
    WRITE 'Uploading ' TO TXLINE.
    WRITE R1-NAME TO TXLINE+10.
    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
    EXPORTING
    PERCENTAGE = 0
    TEXT = TXLINE
    EXCEPTIONS
    OTHERS = 1.
    MOVE 'Y' TO FIRST-TIME.
    CALL FUNCTION 'WS_UPLOAD'
    EXPORTING
    FILENAME = FN3
    FILETYPE = 'ASC'
    IMPORTING
    FILELENGTH = NR_OF_BYTES
    TABLES
    DATA_TAB = S1.
    LOOP AT S1.
    IF S1-TXT(4) = '????'.
    MOVE S1-TXT(8) TO NEW-FUNC.
    IF FIRST-TIME = 'Y'.
    MOVE S1-TXT(8) TO OLD-FUNC.
    MOVE 'N' TO FIRST-TIME.
    ELSE.
    PERFORM STORE_COMPONENT.
    MOVE NEW-FUNC TO OLD-FUNC.
    ENDIF.
    ENDIF.
    IF S1-TXT(4) NE '????'.
    PERFORM REBUILD-COMPONENT.
    ENDIF.
    ENDLOOP.
    PERFORM STORE_COMPONENT. "last component still to be processed
    PERFORM REBUILD-CUA. "re-build CUA, statuses, pfk etc
    ENDFORM.
    / Upload Dynpro headers (HHH) and fields (FFF) */
    / titles and dynpro logic is contained in file .EEE */
    / and has already been processed. */
    FORM UPLOAD_HHH.
    CASE REL3.
    WHEN 'X'.
    CALL FUNCTION 'WS_UPLOAD'
    EXPORTING
    FILENAME = FN1
    FILETYPE = 'BIN'
    IMPORTING
    FILELENGTH = NR_OF_BYTES
    TABLES
    DATA_TAB = H2.
    LOOP AT H2.
    MOVE H2-CNAME TO H1-NAME.
    MOVE H2-CNUM TO H1-NUMBER.
    MOVE H2-NNAME TO H1-PROG.
    MOVE H2-NNUM TO H1-DNUM.
    MOVE H2-CTIM TO H1-TGEN.
    WRITE '19' TO H1-DGEN(2).
    WRITE H2-CDAT TO H1-DGEN+2(6).
    WRITE H2-FILL TO H1+88(39).
    APPEND H1.
    ENDLOOP.
    WHEN OTHERS.
    CALL FUNCTION 'WS_UPLOAD'
    EXPORTING
    FILENAME = FN1
    FILETYPE = 'BIN'
    IMPORTING
    FILELENGTH = NR_OF_BYTES
    TABLES
    DATA_TAB = H1.
    ENDCASE.
    LOOP AT H1.
    MOVE H1-NAME TO T-NAME.
    MOVE H1-NUMBER TO T-NUMBER.
    APPEND T.
    ENDLOOP.
    ENDFORM.
    / Upload Binary file F1 - Dynpro fields */
    FORM UPLOAD_FFF.
    CASE REL3.
    WHEN 'X'.
    CALL FUNCTION 'WS_UPLOAD'
    EXPORTING
    FILENAME = FN2
    FILETYPE = 'BIN'
    IMPORTING
    FILELENGTH = NR_OF_BYTES
    TABLES
    DATA_TAB = F2.
    LOOP AT F2.
    OLD_F1 = F2.
    APPEND OLD_F1.
    ENDLOOP.
    LOOP AT OLD_F1.
    MOVE-CORRESPONDING OLD_F1 TO F1.
    APPEND F1.
    ENDLOOP.
    WHEN OTHERS.
    CALL FUNCTION 'WS_UPLOAD'
    EXPORTING
    FILENAME = FN2
    FILETYPE = 'BIN'
    IMPORTING
    FILELENGTH = NR_OF_BYTES
    TABLES
    DATA_TAB = F1.
    ENDCASE.
    ENDFORM.
    / Re-construct data from file .EEE */
    FORM REBUILD-COMPONENT.
    CASE OLD-FUNC.
    WHEN '????LOGC'. "Dynpro LOGIC.
    CASE REL3.
    WHEN 'X'.
    SHIFT S1-TXT+8 RIGHT BY 32 PLACES.
    ENDCASE.
    MOVE S1-TXT TO E1.
    APPEND E1.
    / Load ABAP Source code, CUA, pfkeys etc to int tables */
    WHEN '????SRCE'.
    MOVE S1-TXT TO S-TXT.
    APPEND S.
    CASE INCLUDES. "Included file wanted
    WHEN 'Y'.
    PERFORM SCAN4-INCLUDES.
    ENDCASE.
    if restoring / uploading rel 3.1 or lower different cua tables
    are used. At generate CUA time these will be converted by the
    system to rel 4.0
    WHEN '????STAT'.
    CASE REL3.
    WHEN 'X'.
    MOVE S1-TXT TO OLD_STA.
    APPEND OLD_STA.
    WHEN SPACE.
    MOVE S1-TXT TO STA.
    APPEND STA.
    ENDCASE.
    MOVE 'Y' TO CUA-FLAG.
    WHEN '????FUNC'.
    CASE REL3.
    WHEN 'X'.
    MOVE S1-TXT TO OLD_FUN.
    APPEND OLD_FUN.
    WHEN SPACE.
    MOVE S1-TXT TO FUN.
    APPEND FUN.
    ENDCASE.
    MOVE 'Y' TO CUA-FLAG.
    WHEN '????MEN1'.
    CASE REL3.
    WHEN 'X'.
    MOVE S1-TXT TO OLD_MEN.
    APPEND OLD_MEN.
    WHEN SPACE.
    MOVE S1-TXT TO MEN.
    APPEND

  • How to Display Excel Report in Client machine  in Forms11g

    Hi All,
    we are running database in Linux server and separate Linux Application Server , But my question is how to display the data to Excel Report in the Client machine
    in Forms11g applications.
    Plesase suggest any method.
    Regards
    Venkatesulu Gunisetty

    You should use webutils.
    For proper answer, place ur request here in oracle Forms Thread,
    Forms

  • How to display a report in tree format

    hai can any one send me the code to display the report in a tree format
    if i take example of customer numbers as tree branches and if i click each customer number the tree should expand showing all sales orders for a customer
    ragrds
    afzal

    use FM HR_ALV_HIERSEQ_LIST_DISPLAY
    there are 2 internal table , one for header and one for detail
    below is code for reference
    REPORT  zinsd_quot_cont.
    TYPES : BEGIN OF ty_vbak,
             vbeln TYPE      vbeln_va,
             vkorg TYPE      vkorg,
             vtweg TYPE      vtweg,
             spart TYPE      spart,
             vkbur TYPE     vkbur,
             vkgrp TYPE     vkgrp,
             angdt  TYPE angdt_v,
             bnddt  TYPE bnddt,
             kunnr  TYPE kunnr,
             kwmeng TYPE kwmeng,
             meins  TYPE meins,
             kunwe  TYPE kunnr,
             name1  TYPE  name1_gp  ,
             name2  TYPE  name1_gp  ,
             sel(1),
             expand(1),
             salesdocument TYPE bapivbeln-vbeln,
             message TYPE bapi_msg,
            END   OF ty_vbak.
    DATA :  w_vbak TYPE ty_vbak,
            t_vbak TYPE TABLE OF ty_vbak.
    DATA :  w_update TYPE ty_vbak,
            t_update TYPE TABLE OF ty_vbak.
    TYPES : BEGIN OF ty_kna1,
             kunnr  TYPE      kunnr,
             name1  TYPE  name1_gp  ,
            END   OF ty_kna1.
    DATA :  w_kna1 TYPE ty_kna1,
            t_kna1 TYPE TABLE OF ty_kna1.
    TYPES : BEGIN OF ty_vbap,
            vbeln      TYPE vbeln_va,
            posnr      TYPE posnr_va,
            matnr      TYPE matnr,
            matkl      TYPE matkl,
            werks      TYPE werks_ext,
            kwmeng TYPE kwmeng,
            meins      TYPE meins,
            mvgr5  TYPE     mvgr5,
            maktx  TYPE     maktx,
            END   OF ty_vbap.
    DATA :  w_vbap TYPE ty_vbap,
            t_vbap TYPE TABLE OF ty_vbap.
    TYPES : BEGIN OF ty_makt,
             matnr TYPE     matnr,
             maktx TYPE     maktx,
            END   OF ty_makt.
    DATA :  w_makt TYPE ty_makt,
            t_makt TYPE TABLE OF ty_makt.
    TYPES : BEGIN OF ty_sum,
            vbeln      TYPE vbeln_va,
            kwmeng TYPE kwmeng,
            END   OF ty_sum.
    DATA :  w_sum TYPE ty_sum,
            t_sum TYPE TABLE OF ty_sum.
    TYPES : BEGIN OF ty_vbpa,
            vbeln     TYPE vbeln,
            posnr     TYPE posnr,
            parvw     TYPE parvw,
            kunnr     TYPE kunnr,
            END   OF ty_vbpa.
    DATA :  w_vbpa TYPE ty_vbpa,
            t_vbpa TYPE TABLE OF ty_vbpa.
    TYPES : BEGIN OF ty_vbup,
            vbeln      TYPE vbeln,
            posnr  TYPE posnr ,
            gbsta      TYPE gbsta  ,
            END   OF ty_vbup.
    DATA :  w_vbup TYPE ty_vbup,
            t_vbup TYPE TABLE OF ty_vbup.
    TYPE-POOLS slis.
    DATA: t_fieldcatalog  TYPE slis_t_fieldcat_alv,
          w_fieldcatalog TYPE slis_fieldcat_alv,
          w_layout    TYPE slis_layout_alv,
          gs_keyinfo  TYPE slis_keyinfo_alv.
    DATA: g_tabname_header TYPE slis_tabname,
          g_tabname_item   TYPE slis_tabname.
      data definition
          Batchinputdata of single transaction
    DATA:   bdcdata LIKE bdcdata    OCCURS 0 WITH HEADER LINE.
          messages of call transaction
    DATA:   messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
    DATA : g_lines TYPE i.
    *Selection Screen
    TABLES : vbak,vbap.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-000.
    SELECT-OPTIONS s_vkorg FOR vbak-vkorg. " Sales Org
    SELECT-OPTIONS s_vtweg FOR vbak-vtweg. " Dist Channel
    SELECT-OPTIONS s_spart FOR vbak-spart. " Division
    SELECT-OPTIONS s_vkbur FOR vbak-vkbur. " Sales Off
    SELECT-OPTIONS s_vkgrp FOR vbak-vkgrp. " Sales Grp
    SELECT-OPTIONS s_matkl FOR vbap-matkl. " Mat Grp
    SELECT-OPTIONS s_werks FOR vbap-werks. " Plant
    SELECT-OPTIONS s_period FOR vbak-angdt. " Sales Off
    SELECTION-SCREEN END OF BLOCK b1.
    START-OF-SELECTION.
      PERFORM f_getdata.
      PERFORM f_initdata.
    END-OF-SELECTION.
      PERFORM f_createalv.
      PERFORM f_dispalv.
    *&      Form  f_getdata
          text
    -->  p1        text
    <--  p2        text
    FORM f_getdata .
    *Sales Header
      SELECT
        vbeln
        vkorg
        vtweg
        spart
        vkbur
        vkgrp
        angdt     
        bnddt
        kunnr
      INTO TABLE t_vbak
      FROM vbak
      WHERE
        vkorg IN s_vkorg      " Sales Org
        AND vtweg IN s_vtweg  " Dist Channel
        AND spart IN s_spart  " Division
        AND vkbur IN s_vkbur  " Sales Off
        AND vkgrp IN s_vkgrp  " Sales Grp
        AND angdt IN s_period
        AND bnddt IN s_period
        AND auart = 'ZQMO'
        AND vbtyp = 'B'.
    *CUST NAME
      SELECT
         kunnr
         name1
      INTO TABLE t_kna1
      FROM kna1
      FOR ALL ENTRIES IN t_vbak
      WHERE
       kunnr = t_vbak-kunnr
    *Sales Item
      SELECT
        vbeln     
        posnr     
        matnr     
        matkl     
        werks     
        kwmeng
        meins
        mvgr5
      INTO TABLE t_vbap
      FROM vbap
      FOR ALL ENTRIES IN t_vbak
      WHERE
       vbeln = t_vbak-vbeln
       AND matkl IN  s_matkl  " Mat Grp
       AND werks IN  s_werks  " Plant
    *Partners
      SELECT
       vbeln     
       posnr     
       parvw     
       kunnr     
      INTO TABLE t_vbpa
      FROM vbpa
      FOR ALL ENTRIES IN t_vbak
      WHERE
        vbeln = t_vbak-vbeln.
      IF t_vbpa[] IS NOT INITIAL.
        SELECT
            kunnr
            name1
         APPENDING TABLE t_kna1
         FROM kna1
         FOR ALL ENTRIES IN t_vbpa
         WHERE
          kunnr = t_vbpa-kunnr
      ENDIF.
    *Status - Sales Doc
      SELECT
        vbeln     
        posnr
        gbsta
      INTO TABLE t_vbup
      FROM vbup
      FOR ALL ENTRIES IN t_vbap
      WHERE
       vbeln = t_vbap-vbeln
       AND posnr = t_vbap-posnr
       AND gbsta NE 'C'.
      SELECT
          matnr
          maktx
      INTO TABLE t_makt
      FROM makt
      FOR ALL ENTRIES IN t_vbap
      WHERE
       matnr = t_vbap-matnr
       AND spras = 'E'.
    ENDFORM.                    " f_getdata
    *&      Form  f_initdata
          text
    -->  p1        text
    <--  p2        text
    FORM f_initdata .
      SORT t_vbap BY vbeln DESCENDING.
    *delete all closed stat items
      LOOP AT t_vbap INTO w_vbap.
        READ TABLE t_vbup INTO w_vbup
        WITH KEY
         vbeln = w_vbap-vbeln
         posnr = w_vbap-posnr.
        IF sy-subrc <> 0.
          DELETE t_vbap.
          CONTINUE.
        ELSE.
          READ TABLE t_makt INTO w_makt
          WITH
          KEY matnr = w_vbap-matnr.
          IF sy-subrc = 0.
            w_vbap-maktx = w_makt-maktx.
            MODIFY t_vbap FROM w_vbap.
          ENDIF.
        ENDIF.
      ENDLOOP.
    *find the total quantity
      LOOP AT t_vbap INTO w_vbap.
        w_sum-vbeln = w_vbap-vbeln.
        w_sum-kwmeng = w_vbap-kwmeng.
        COLLECT w_sum INTO t_sum.
        CLEAR w_sum.
      ENDLOOP.
    *populate header
      LOOP AT t_vbak INTO w_vbak.
      Quantity - Total
        READ TABLE t_sum INTO w_sum
        WITH KEY
         vbeln = w_vbak-vbeln.
        IF sy-subrc = 0.
          w_vbak-kwmeng = w_sum-kwmeng.
        ELSE.
          CLEAR w_vbak-kwmeng.
        ENDIF.
      UoM
        READ TABLE t_vbap INTO w_vbap
        WITH KEY
         vbeln = w_vbak-vbeln.
        IF sy-subrc = 0.
          w_vbak-meins = w_vbap-meins.
        ELSE.
          CLEAR w_vbak-meins.
        ENDIF.
      Partner
        READ TABLE t_vbpa INTO w_vbpa
        WITH KEY
         vbeln = w_vbak-vbeln
         parvw = 'WE'.
        IF sy-subrc = 0.
          w_vbak-kunwe = w_vbpa-kunnr.
        ELSE.
          CLEAR w_vbak-kunwe.
        ENDIF.
      SHIP TO PARTY NAME
        READ TABLE t_kna1 INTO w_kna1
        WITH KEY
         kunnr = w_vbak-kunwe.
        IF sy-subrc = 0.
          w_vbak-name2 = w_kna1-name1.
        ENDIF.
      CUST NAM - SOLD TO PARTY
        READ TABLE t_kna1 INTO w_kna1
        WITH KEY
         kunnr = w_vbak-kunnr.
        IF sy-subrc = 0.
          w_vbak-name1 = w_kna1-name1.
        ENDIF.
        MODIFY t_vbak FROM w_vbak.
      ENDLOOP.
      DELETE t_vbak WHERE kwmeng IS INITIAL.
      SORT t_vbak BY vbeln DESCENDING.
      SORT t_vbap BY vbeln  DESCENDING posnr ASCENDING.
    ENDFORM.                    " f_initdata
    *&      Form  f_createalv
          Create Field Cat.
    -->  p1        text
    <--  p2        text
    FORM f_createalv .
      g_tabname_header = 't_vbak'.
      g_tabname_item   = 't_vbap' .
      CLEAR gs_keyinfo.
      gs_keyinfo-header01 = 'VBELN'.
      gs_keyinfo-item01   = 'VBELN'.
    *VBAK
      w_fieldcatalog-fieldname = 'VBELN'.
      w_fieldcatalog-tabname   = 't_vbak'.
      w_fieldcatalog-seltext_l = 'Sales Document'.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'VKORG'.
      w_fieldcatalog-tabname   = 't_vbak'.
      w_fieldcatalog-seltext_l = 'Sales Org'.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'VTWEG'.
      w_fieldcatalog-tabname   = 't_vbak'.
      w_fieldcatalog-seltext_l = 'Dist Channel'.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'SPART'.
      w_fieldcatalog-tabname   = 't_vbak'.
      w_fieldcatalog-seltext_l = 'Division'.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'VKBUR'.
      w_fieldcatalog-tabname   = 't_vbak'.
      w_fieldcatalog-seltext_l = 'Sales Office'.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'VKGRP'.
      w_fieldcatalog-tabname   = 't_vbak'.
      w_fieldcatalog-seltext_l = 'Sales GRP'.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'KUNNR'.
      w_fieldcatalog-tabname   = 't_vbak'.
      w_fieldcatalog-seltext_l = 'Sold to Party'.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'NAME1'.
      w_fieldcatalog-tabname   = 't_vbak'.
      w_fieldcatalog-outputlen    = 35.
      w_fieldcatalog-seltext_l = 'Sold to Party Code - Name'.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'KUNWE'.
      w_fieldcatalog-tabname   = 't_vbak'.
      w_fieldcatalog-seltext_l = 'Ship to Party'.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'NAME2'.
      w_fieldcatalog-tabname   = 't_vbak'.
      w_fieldcatalog-seltext_l = 'Ship Party Code - Name'.
      w_fieldcatalog-outputlen    = 35.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'KWMENG'.
      w_fieldcatalog-tabname   = 't_vbak'.
      w_fieldcatalog-seltext_l = 'Quantity'.
      w_fieldcatalog-outputlen    = 25.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'MEINS'.
      w_fieldcatalog-tabname   = 't_vbak'.
      w_fieldcatalog-seltext_l = 'UoM'.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'SALESDOCUMENT'.
      w_fieldcatalog-tabname   = 't_vbak'.
      w_fieldcatalog-seltext_l = 'Document'.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'MESSAGE'.
      w_fieldcatalog-tabname   = 't_vbak'.
      w_fieldcatalog-seltext_l = 'Log'.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
    *VBAP
      w_fieldcatalog-fieldname = 'POSNR'.
      w_fieldcatalog-tabname   = 't_vbap'.
      w_fieldcatalog-seltext_l = 'POS'.
      w_fieldcatalog-outputlen    = 6.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'MATNR'.
      w_fieldcatalog-tabname   = 't_vbap'.
      w_fieldcatalog-seltext_l = 'Material'.
      w_fieldcatalog-outputlen    = 18.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'MAKTX'.
      w_fieldcatalog-tabname   = 't_vbap'.
      w_fieldcatalog-seltext_l = 'Material Desc'.
      w_fieldcatalog-outputlen    = 40.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'MATKL'.
      w_fieldcatalog-tabname   = 't_vbap'.
      w_fieldcatalog-seltext_l = 'Material Grp'.
      w_fieldcatalog-outputlen    = 9.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'MVGR5'.
      w_fieldcatalog-tabname   = 't_vbap'.
      w_fieldcatalog-seltext_l = 'MCNO'.
      w_fieldcatalog-outputlen    = 4.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'WERKS'.
      w_fieldcatalog-tabname   = 't_vbap'.
      w_fieldcatalog-seltext_l = 'Plant'.
      w_fieldcatalog-outputlen    = 91.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'KWMENG'.
      w_fieldcatalog-tabname   = 't_vbap'.
      w_fieldcatalog-seltext_l = 'Quantity'.
      w_fieldcatalog-outputlen    = 25.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
      w_fieldcatalog-fieldname = 'MEINS'.
      w_fieldcatalog-tabname   = 't_vbap'.
      w_fieldcatalog-seltext_l = 'UoM'.
      APPEND w_fieldcatalog TO t_fieldcatalog.
      CLEAR: w_fieldcatalog.
    LAYOUT
    w_layout-colwidth_optimize  = 'X'.
      w_layout-zebra  = 'X'.
      w_layout-expand_fieldname = 'EXPAND'.
      w_layout-box_fieldname  = 'SEL'.
      w_layout-box_tabname  = 't_vbak'.
    ENDFORM.                    " f_createalv
    *&      Form  f_dispalv
          Call ALV
    -->  p1        text
    <--  p2        text
    FORM f_dispalv .
      CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
         EXPORTING
          i_callback_program             = sy-repid
          i_callback_pf_status_set       = 'SET_PF_STATUS'
          i_callback_user_command        = 'USER_COMMAND'
          is_layout                      = w_layout
          it_fieldcat                    = t_fieldcatalog
        IT_EXCLUDING                   =
        IT_SPECIAL_GROUPS              =
        IT_SORT                        =
        IT_FILTER                      =
        IS_SEL_HIDE                    =
        I_SCREEN_START_COLUMN          = 0
        I_SCREEN_START_LINE            = 0
        I_SCREEN_END_COLUMN            = 0
        I_SCREEN_END_LINE              = 0
        I_DEFAULT                      = 'X'
        I_SAVE                         = ' '
        IS_VARIANT                     =
        IT_EVENTS                      =
        IT_EVENT_EXIT                  =
           i_tabname_header               = g_tabname_header
           i_tabname_item                 = g_tabname_item
           is_keyinfo                     = gs_keyinfo
         TABLES
           t_outtab_header                = t_vbak
           t_outtab_item                  = t_vbap
        EXCEPTIONS
          program_error                  = 1
          OTHERS                         = 2
      IF sy-subrc <> 0.
      ENDIF.
    ENDFORM.                    " f_dispalv
    *&      Form  set_pf_status
          PF stat
         -->RT_EXTAB   text
    FORM set_pf_status USING rt_extab TYPE slis_t_extab.
      SET PF-STATUS 'ZINSD_QUOT_CONT_ST'.
    ENDFORM.                    "set_pf_status
    *&      Form  user_command
          Process List UCOMM
         -->R_UCOMM      text
         -->RS_SELFIELD  text
    FORM user_command  USING r_ucomm LIKE sy-ucomm
                               rs_selfield TYPE slis_selfield.
      REFRESH t_update.
      IF r_ucomm = 'EXIT'.
        LEAVE PROGRAM.
      ENDIF.
      IF r_ucomm = 'EXECUTE'.
        LOOP AT t_vbak INTO w_update
        WHERE
         sel = 'X'
         AND salesdocument = ' '.
          APPEND w_update TO t_update.
        ENDLOOP.
        IF t_update[] IS NOT INITIAL.
          LOOP AT t_update INTO w_update.
           PERFORM f_bapi_contract_createfromdata USING w_update.
            PERFORM f_bdc_contract_from_quotation.
            MODIFY t_update FROM w_update.
          ENDLOOP.
        ELSE.
        ENDIF.
        PERFORM f_dispalv.
      ENDIF.
      IF r_ucomm  = '&IC1'.
        IF rs_selfield-sel_tab_field = 't_vbak-VBELN'.
          SET PARAMETER ID 'AGN' FIELD rs_selfield-value.
          CALL TRANSACTION 'VA23' AND SKIP FIRST SCREEN.
        ENDIF.
        IF rs_selfield-sel_tab_field = 't_vbak-SALESDOCUMENT' AND
           rs_selfield-value NE ' '.
          SET PARAMETER ID 'KTN' FIELD rs_selfield-value.
          CALL TRANSACTION 'VA43' AND SKIP FIRST SCREEN.
        ENDIF.
      ENDIF.
    ENDFORM.                    "user_command
    *&      Form  F_BAPI_CONTRACT_CREATEFROMDATA
          BAPI CALL
         -->P_W_UPDATE  text
    FORM f_bapi_contract_createfromdata  USING  p_w_update  STRUCTURE w_update .
      DATA : w_contract_header_in  TYPE bapisdhd1  ,
             w_contract_header_inx TYPE bapisdhd1x ,
             t_contract_items_in   TYPE TABLE OF  bapisditm   WITH HEADER LINE,
             t_contract_items_inx  TYPE TABLE OF  bapisditmx  WITH HEADER LINE,
             t_contract_partners   TYPE TABLE OF  bapiparnr   WITH HEADER LINE,
             t_return              TYPE TABLE OF  bapiret2    WITH HEADER LINE.
      CLEAR : w_contract_header_in,
              w_contract_header_inx.
      REFRESH : t_contract_items_in,
                t_contract_items_inx,
                t_contract_partners,
                t_return.
      w_contract_header_in-doc_type   = 'ZCNT'.
      w_contract_header_in-sales_org  = p_w_update-vkorg.
      w_contract_header_in-distr_chan = p_w_update-vtweg.
      w_contract_header_in-division   = p_w_update-spart.
      w_contract_header_in-ct_valid_f = p_w_update-angdt.
      w_contract_header_in-ct_valid_t = p_w_update-bnddt.
      w_contract_header_inx-doc_type  = 'X'.
      w_contract_header_inx-sales_org = 'X'.
      w_contract_header_inx-distr_chan = 'X'.
      w_contract_header_inx-division  = 'X'.
      w_contract_header_inx-ct_valid_f = 'X'.
      w_contract_header_inx-ct_valid_t = 'X'.
      LOOP AT t_vbap INTO w_vbap
      WHERE
        vbeln = p_w_update-vbeln.
        t_contract_items_in-material = w_vbap-matnr.
        t_contract_items_in-plant    = w_vbap-werks.
        t_contract_items_in-target_qty = w_vbap-kwmeng.
        t_contract_items_in-target_qu  = w_vbap-meins.
        t_contract_items_in-ref_doc    = w_vbap-vbeln.
        t_contract_items_in-ref_doc_it = w_vbap-posnr.
        t_contract_items_in-ref_doc_ca = 'B'.
        t_contract_items_in-prc_group5 = w_vbap-mvgr5.
        t_contract_items_inx-material = 'X'.
        t_contract_items_inx-plant    = 'X'.
        t_contract_items_inx-target_qty = 'X'.
        t_contract_items_inx-target_qu  = 'X'.
        t_contract_items_inx-ref_doc    = 'X'.
        t_contract_items_inx-ref_doc_it = 'X'.
        t_contract_items_inx-ref_doc_ca = 'X'.
        t_contract_items_inx-prc_group5 = 'X'.
        APPEND t_contract_items_in.
        APPEND t_contract_items_inx.
      ENDLOOP.
      LOOP AT t_vbpa INTO w_vbpa
       WHERE
        vbeln =  p_w_update-vbeln.
         AND posnr = w_vbap-posnr.
        t_contract_partners-partn_role = w_vbpa-parvw.
        t_contract_partners-partn_numb = w_vbpa-kunnr.
        t_contract_partners-itm_number = w_vbpa-posnr.
        APPEND t_contract_partners.
      ENDLOOP.
      CALL FUNCTION 'BAPI_CONTRACT_CREATEFROMDATA'
        EXPORTING
      SALESDOCUMENTIN               =
        contract_header_in            = w_contract_header_in
        contract_header_inx           = w_contract_header_inx
      SENDER                        =
      BINARY_RELATIONSHIPTYPE       = ' '
      INT_NUMBER_ASSIGNMENT         = ' '
      BEHAVE_WHEN_ERROR             = ' '
      LOGIC_SWITCH                  =
      TESTRUN                       =
      CONVERT                       = ' '
    IMPORTING
        salesdocument                 = p_w_update-salesdocument
    TABLES
        return                        = t_return
        contract_items_in             = t_contract_items_in
        contract_items_inx            = t_contract_items_inx
        contract_partners             = t_contract_partners
      CONTRACT_CONDITIONS_IN        =
      CONTRACT_CONDITIONS_INX       =
      CONTRACT_CFGS_REF             =
      CONTRACT_CFGS_INST            =
      CONTRACT_CFGS_PART_OF         =
      CONTRACT_CFGS_VALUE           =
      CONTRACT_CFGS_BLOB            =
      CONTRACT_CFGS_VK              =
      CONTRACT_CFGS_REFINST         =
      CONTRACT_DATA_IN              =
      CONTRACT_DATA_INX             =
      CONTRACT_TEXT                 =
      CONTRACT_KEYS                 =
      EXTENSIONIN                   =
      PARTNERADDRESSES              =
      IF p_w_update-salesdocument NE '   ' .
        p_w_update-message = 'SUCCESS'.
      ELSE.
        READ TABLE t_return INDEX 1.
        p_w_update-message =  t_return-message.
      ENDIF.
      READ TABLE t_vbak INTO w_vbak
      WITH KEY
      vbeln  = p_w_update-vbeln.
      IF sy-subrc = 0.
        MODIFY  t_vbak INDEX sy-tabix FROM p_w_update .
      ENDIF.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
          wait = 'X'.
    ENDFORM.                    " F_BAPI_CONTRACT_CREATEFROMDATA
    *&      Form  f_bdc_contract_from_Quotation
          BAPI CALL
         -->P_W_UPDATE  text
    FORM f_bdc_contract_from_quotation.
      DATA : l_date TYPE char10.
      REFRESH : messtab, bdcdata.
      CLEAR : messtab, bdcdata.
      PERFORM bdc_dynpro      USING 'SAPMV45A' '0101'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=COPY'.
      PERFORM bdc_field       USING 'VBAK-AUART'
                                   'ZCNT'.
      PERFORM bdc_dynpro      USING 'SAPLV45C' '0100'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=RANG'.
      PERFORM bdc_dynpro      USING 'SAPLV45C' '0100'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=UEBR'.
      PERFORM bdc_field       USING 'LV45C-VBELN'
                                     w_update-vbeln.
      PERFORM bdc_dynpro      USING 'SAPMV45A' '4001'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=SICH'.
      IF NOT w_update-angdt IS INITIAL.
        CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
          EXPORTING
            date_internal            = w_update-angdt
          IMPORTING
            date_external            = l_date
          EXCEPTIONS
            date_internal_is_invalid = 1
            OTHERS                   = 2.
        PERFORM bdc_field       USING 'VBAK-GUEBG'
                                       l_date.
      ENDIF.
      IF NOT w_update-bnddt IS INITIAL.
        CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
          EXPORTING
            date_internal            = w_update-bnddt
          IMPORTING
            date_external            = l_date
          EXCEPTIONS
            date_internal_is_invalid = 1
            OTHERS                   = 2.
        PERFORM bdc_field       USING 'VBAK-GUEEN'
                                       l_date.
      ENDIF.
      CALL TRANSACTION 'VA41' USING bdcdata
                       MODE   'E'
                       UPDATE 'S'
                       MESSAGES INTO messtab.
      break abap.
      READ TABLE messtab WITH KEY msgid = 'V1'
                                  msgnr = '311'.
      IF sy-subrc EQ 0.
        w_update-message = 'SUCCESS'.
        w_update-salesdocument = messtab-msgv2.
      ELSE.
        READ TABLE messtab WITH KEY msgtyp = 'E'.
        IF sy-subrc EQ 0.
          DATA : l_info TYPE einfo.
          CLEAR l_info.
          l_info-msgid = messtab-msgid.
          l_info-msgty = messtab-msgtyp.
          l_info-msgno = messtab-msgnr.
          l_info-msgv1 = messtab-msgv1.
          l_info-msgv2 = messtab-msgv2.
          l_info-msgv3 = messtab-msgv3.
          l_info-msgv4 = messtab-msgv4.
          CALL FUNCTION 'MESSAGE_GET_TEXT'
            EXPORTING
              ieinfo        = l_info
              ilangu        = sy-langu
            IMPORTING
              etext         = w_update-message
            EXCEPTIONS
              no_t100_found = 1
              OTHERS        = 2.
        ENDIF.
      ENDIF.
      READ TABLE t_vbak INTO w_vbak WITH KEY vbeln  = w_update-vbeln.
      IF sy-subrc = 0.
        MODIFY  t_vbak INDEX sy-tabix FROM w_update transporting message
                                                                 salesdocument.
      ENDIF.
    ENDFORM.                    " f_bdc_contract_from_Quotation
           Start new screen                                              *
    FORM bdc_dynpro USING program dynpro.
      CLEAR bdcdata.
      bdcdata-program  = program.
      bdcdata-dynpro   = dynpro.
      bdcdata-dynbegin = 'X'.
      APPEND bdcdata.
    ENDFORM.                    "bdc_dynpro
           Insert field                                                  *
    FORM bdc_field USING fnam fval.
      CLEAR bdcdata.
      bdcdata-fnam = fnam.
      bdcdata-fval = fval.
      APPEND bdcdata.
    ENDFORM.                    "bdc_field

  • How to display multiple reports at the same time

    Hi,
    I'm trying to display multiple reports at the same time, each one in separates tabs or windows using Forms 11g 11.1.1.6
    I have a button which has a call to a procedure which makes use of rp2rro library to show the specific reports, for example:
    call_report('report1');
    call_report('report2');
    call_report('report3');
    call_report('report4');
    The main problem is that, just the last report is been displayed.
    Is there some way to display report1, report2 etc in separate tabs or windows ??
    Regards
    Carlos

    You shouldn't have a problem calling different reports at once. As long as you're using Forms 11g they show up in different windows.
    The question is how you are calling the report.
    Here is how I manipulate it.
    After I pass parameters with the ADD_PARAMETER built-in I set some key values (destype, desformat, desname) with the RP2RRO's procedures.
    Finally calling RP2RRO.RP2RRO_RUN_PRODUCT and then WEB.SHOW_DOCUMENT passing the correct procedure parameters the report comes up in a window. If you repeat the above changing the appropriate variables (the report_name in the RP2RRO_RUN_PRODUCT and so on) you can get multiple reports in different windows.

  • How to display a report in CrystalReportViewer when report is a Shortcut

    Hello,
    In BusinessObjects Enterprise XI R2, we have a shortcut to a report since we don't want to give a particular group of users access to the original folder. However, my objective is to display the "shortcut" report in a .NET web application.
    What I'm running into seems to basically be permissions errors when setting the ReportSource of the CrystalReportViewer to the ID of the shortcut. In InfoView, the same user can click the shortcut and the report comes up with no problems.
    So my question is how do I display this report in my application's viewer and still honor the privs of the shortcut, and of not the original report?
    Partial code listing...
    ' load the report
    Dim reportId As String = Me.SessionState.ReportId
    myReportViewer.ReportSource = MyInfoStoreManager.GetReportSource(myEnterpriseSession, reportId)
    myReportViewer.EnterpriseLogon = myEnterpriseSession
    The relevant code in the GetReportSource method is below...
    ' retrieve the report from BOXI Infostore
    Dim objReportFactoryService As EnterpriseService = myEnterpriseSession.GetService("PSReportFactory")
    Dim objFactory As Viewing.PSReportFactory = CType(objReportFactoryService.Interface, Viewing.PSReportFactory)
    Dim objReportSource As ISCRReportSource
    objReportSource = objFactory.OpenReportSource(intReportId)
    Return objReportSource
    Thanks,
    Horus

    Since you're using XI Release 2, there'd be limited options.  XI 3.x allow for greater control of rights inheritance, so you can specify no-view rights for the folder, but view rights for the contents of the folder.
    So with XI Release 2, since you can't control inheritance, you'd restrict rights to the parent folder, but give each report within specific rights tailored to the User or UserGroup.  If you have lots of reports, the rights admin overhead may be problematic, since you'd need to manage them per-object.
    Sincerely,
    Ted Ueda

  • How to display a report in a container

    Hello All,
    There are 2 scenarios:-
    1) On left side navigation panel, I have a tree control. On double click on a node of a tree, I want to display a "report output" on the right panel. I have created the left panel and right panel by splitting the main custom container using splitter control. But I am not able to submit a report output on double click event of tree node as I dont know how to specify the parent container for the report.
    2) I want to divide the custom container into 4 equal parts. Then each part should display four reports which are output of 4 different programs.
    Kindly help me out with his issue.
    Needless to say that points will be awarded
    Thanks n Regards,
    Abhishek

    Hi Abhishek,
    you can't run a program in an container. That's not possible. But you can handle your requirement using one of the following ways:
    Way 1:
    Call the program in the double click event handler method by using the the statement e.g. submit and return. The program is then called in a separate screen(not in the container).
    Way 2:
    Copy the functionnality of the program in e.g. function module(FM). This FM gets the input parameters, processes the input and returns the results. The results are displayed e.g. in an ALV Grid. The steps getting the display results and setting the display data for the ALV are handled in the double click event handler method.
    Best Regards, Edemey

  • HOW TO DISPLAY BW REPORTS(LINKS) IN PORTAL??

    Hi All,
    I am haveing Links of BW Report i have to display those reports in portal
    How can i achive this except URL IVIEW??
    I want to know that is theare any inbuilt template of Iview or any othere method to display thease reports in portal??
    Any help will be highly appretiated.
    Thanks in Advance.
    Vinit Soni

    Hi Vinit,
    After looking into ur BW url , i think u r not using webtemplates.
    u can follow below steps
    Creating an BEx Web Application iView :
    1.Right-click on the iViews folder, and choose New &#8594; iView. The iView Wizard displays.
    2.Select iView template – create an iView from an existing iView template radio button.
    3.Choose Next.
    4.In the iView Wizard, select BEx Web Application iView radio button.
    5.Choose Next.
    6.Enter a name, iView ID and iView ID Prefix.
    7.Choose Next.
    8.Choose SAP BW2.x/3.x radio button from Version.  
    9.Choose Next.
    10.Select the SAP BW system alias SAP_BW and in the BEx Web Application Query String, copy the query id from the URL of your desired query from the string text &INFOCUBE onwards (for example, &CMD=LDOC&INFOCUBE=0MKTG_C01&QUERY=ZMKTG_C01_Q7001).
    11.Choose Next.
    And also maku sure u have configured WAS settings in system object u have created
    Hope this helps u
    Regards
    Krishna.

  • How to trigger abap report from module pool

    hi,
    continuing with this link
    table control this is done (Module pool )
    there were two buttons (accept and delete )in the module pool..so when the user  clik 'accepts '  the records (from table control ) then it shud call abap report which will run in background..
    so how do we pass the values selected from table control to the abap report in one go.....as only one background job has to run..say if there are  10 entries then it shud take all the 10 entries and trigger the abap report where it will do the processing with the selected 10 records in the abap report.
    Thanks
    Mohan..

    Declare the parameters of the report as select options and call it using submit statement.
    link:[http://help.sap.com/abapdocu_70/en/ABAPSUBMIT_VIA_JOB.htm]

  • How to display a Report 9i from Forms if the Report has a Parameter Form?

    Hi,
    could some one please post me a code sample to show how to call a (paper layout, RDF) Report from Forms if I would like it to display the Report's parameter form first?
    Thank you in advance.
    Tamas Szecsy
    I used the following code segment do achieve the job, but I get "REP-546: Warning: The value of restricted LOV parameter P_ALAL is not among the selectable values" message, even though I would like to specify the P_ALAL value on the report's parameter Form.
    declare
    paramlist_id ParamList;
    tmp_riport_name varchar2(200);
    report_id          report_object;
    report_job_id varchar2(200);
    tmp_id number;
    begin
    -- init
    tmp_riport_name := null;
              -- parameter list
    paramlist_id := get_parameter_list('mytmp_params');
    if not id_null(paramlist_id) then
    destroy_parameter_list(paramlist_id);
    end if;
    paramlist_id := Create_Parameter_List('mytmp_params');
    add_parameter( paramlist_id, 'PARAMFORM', TEXT_PARAMETER, 'YES' );
              -- call report
    report_id := find_report_object( 'DUMMY' );
    if report_id.id is null then
         return;
    end if;
    -- display
    set_report_object_property( report_id, report_execution_mode, runtime );
    set_report_object_property( report_id, report_comm_mode, synchronous );
    set_report_object_property( report_id, report_destype, 'preview' );
    set_report_object_property( report_id, report_desformat, 'PDF' );
    set_report_object_property( report_id, report_server, 'rep_geoias' );
         set_report_object_property( report_id, report_filename, :ALAP_REPORTS_NAME||'.rep' );
    report_job_id := run_report_object( report_id, paramlist_id );
    tmp_id := to_number(substr( report_job_id, length(name_in('rep_geoias'))+2 ));
    web.show_document( '/reports/rwservlet/getjobid'||tmp_id||'?server=rep_geoias', '_blank' );
    END;

    I think you specified report object name incorrect.
    in command line:
    repid := FIND_REPORT_OBJECT('REPORT1');
    Report1 must be name of report object in Form Builder.
    However to call report from Oracle Form you must do more work. For example:
    - Create report server name
    - Adding some code to set property for report object base on report server you created.
    Cheer!

  • How to run abap reports thru ITS

    Hi
    I have a abap report ( SE38) ,it has a transaction code ( TCODE) ZXXXX. Now i want to run that report from ITS by clicking on the hyperlink.
    How can I do it .what are the steps involve
    Regards
    Ashish

    Hi,
    Pls check the foll:
    -><b>do a user comparison after making the role change</b>
    --><b>logoff and logon again to pick-up the changes.</b>
    -->regenrate the role and save it properly after adding the tcode.
    BR,
    Disha.
    <b>Pls reward full points for useful answers.</b>

  • How to Intergrate ABAP reports to Portal

    Hi Experts,
    I want to put my ABAP reports to the Enterprise Portal.
    So how would i do that.
    Pls guide me.
    Regards,
    DS

    hi ,
    You would be having Tcode for your Abap reports.. right!!!
    Then just u hve to created Transaction iveiw in Portal..give Tcode of tht report... Bingo it will work...
    Regarding creating of Transaction iview u can refer [url]How to create R/3 Transaction Iviews in EP;url]  ur own thread.
    Regards
    Parth

  • How to convert ABAP Reports in other languages during runtime.

    Hi Gurus,
    In SAP during Log-in, I select "EN" sa my language. Is there a way where in I will log-in using English language but upon generating abap report, the result is in Chinese characters?
    Thanks in advance.

    If you use chinese data in the program then it should work.
    DATA: var(20) type c.
    START-OF-SELECTION.
      var = 'u6807u51C6u6587u672C'.
      write: var.

Maybe you are looking for

  • In ALV report.The user wants to hide specfic fields

    Hi In ALV report.The user wants to hide specfic fields  but the user must be able to add these fields to the report: can any one give the suggestions

  • How to select columns from internal table using 'GUI_DOWNLOAD' ?

    Hi, i am running a report & the fields for output is saved in an internal table which has as many as 10 fields. But I want to select only a few fields for output. There is a option COL_SELECT in function 'GUI_DOWNLOAD'. How to use it. If possible wit

  • View the excutable bex query in excel workbook

    Hi friends,      I excute query in query designer BI7 it goes to web link. But i want to open report in bex analyer excel workbook format.How to view the bex report in excel format.Is there is any setting.Please anyone reply. regards Rajan

  • Help required SARA

    Hi All, we have a requiremnet where we need to give authorization for SARA T-Code but need to disable the actions write and delete buttons in that screen(that we get when when we execute SARA Tcode). Thanks in Advance Reagrds Anand

  • Spawned java app hangs until first is killed

    I am spawning a new process using <code> Process proc = Runtime.getRuntime().exec(commandLine, // command line                          null, // environment                          new java.io.File(strExeDir)); // run directory </code> The new proce