Submitting of report using selection screen

Hi,
                   My requirement is iam having one report so it is executed when we r given site and date it gives one excel file data so now iam having 150 sites so now I want to write the report as date as selection screen and I want to submit that report in this one (new report) so it wants to take the sites automatically from werks (t001w table) and it wants to execute in a loop upto 150 times then it gives 150 excel files so now how can I pass the sites and date to the submitting selection screen date as same for all but only the site wants to varry in the submitting report pls provide the coding ..
Thanks & Regards,
Mohan Reddy.

Hello Mohan Reddy,
I think we can try in this way
  data:     y_v_rspar_line    LIKE LINE OF y_v_rspar_tab,
              y_v_rspar_tab     TYPE TABLE OF rsparams,
        y_lk_parm3 TYPE char5 VALUE 'SPERR'.  " Selection screen variable name
  y_v_rspar_line-selname = y_lk_parm3.
  y_v_rspar_line-kind    = y_k_p.
  y_v_rspar_line-sign    = y_k_i.
  y_v_rspar_line-option  = y_k_eq.
  y_v_rspar_line-low     = y_k_e.                "Excel file site value.
  APPEND y_v_rspar_line TO y_v_rspar_tab.
    SUBMIT Program name USING SELECTION-SCREEN '1000'
    WITH SELECTION-TABLE y_v_rspar_tab  AND RETURN.
But try in 2different ways i.e
1) Keep the submit program in the loop of the excel file internal table
   and take the site value in the variable and pass the value to this y_v_rspar_line-low
  and call submit program.
2) Sort the excel file internal table then pass all the values to y_v_rspar_line-low and use the append statement in the same way and then call the SUBMIT program outside the loop.

Similar Messages

  • Submit report using selection-table to report 'RKAEP000'(Tcode ksb1)

    Hi,
    I am calling report "RKAEP000'(This is the report for tcode KSB1) using submit statement in my program to import the ksb1 output in my program. For time being I am calling this report using selection-set 'variant'.
    The selection screen of ksb1 is designed with modulepool program (screen 100).
    The selection screen of my program is similar to ksb1 initial screen, except layout option and controlling area is on the screen itself instead of calling it through menu.
    Please tell me how to post the selction criteria of my report to the calling program 'RKAEP000'.
    Thanks,
    suresh

    You can use WITH addition of SUBMIT statement.
    SUBMIT report1 USING SELECTION-SCREEN '1100'
                   WITH SELECTION-TABLE rspar_tab
                   WITH selcrit2 BETWEEN 'H' AND 'K'
                   WITH selcrit2 IN range_tab
                   AND RETURN.
    Regards,
    Premal

  • Prob in Submit Report via Selection screen.

    Hi,
    I have to submit a report via selection screen.
    The report name is detemined at run time.
    This i am able to handle easily as we can use SUBMIT (V_PROG)...
                                   WHERE V_PROG contains the name of the report that i get at runtime...
    Now the issue :::::::
    I have to also populate a select-options on the called report on submit.
    usually this is done by :
                                                SUBMIT (V_PROG)
                                                name of select-option in itab...
    However in my case the name of the <name of select-option> is also detemined at runtime say PNPPERNR.
    Now if i use any variable / field symbol for the name of the select - option (like for the called program), it does not work (the called report does not have the values i populate in ITAB for the particular select-option)
    I have also tried Macro but cant find solution...
    ANY IDEAS ??

    Hi Anuj,
    When you are getting the report name in runtime, you can also get the report selection screen information during runtime.
    Now how are you going to decide which values you will move to which selection screen variables of which report? If you have a way to determine this, then here is a program that works on that assumption.
    REPORT ztest1 .
    DATA: i_seltab          TYPE TABLE OF rsparams WITH HEADER LINE,
          i_selections_info TYPE TABLE OF selinfo WITH HEADER LINE.
    DATA: v_report LIKE sy-repid,
          v_matnr  LIKE mara-matnr.
    PARAMETERS: p_rep1 RADIOBUTTON GROUP rad DEFAULT 'X',
                p_rep2 RADIOBUTTON GROUP rad.
    SELECT-OPTIONS: s_matnr FOR v_matnr.
    START-OF-SELECTION.
      IF p_rep1 = 'X'.
    *-- some criteria to determine the name of the report
        v_report = 'ZTEST2'.
      ELSE.
        v_report = 'ZTEST4'.
      ENDIF.
    *-- get the parameters for the report
      CALL FUNCTION 'RS_SELECTIONS_DESCRIPTION'
           EXPORTING
                report              = v_report
           TABLES
                selections_info     = i_selections_info
           EXCEPTIONS
                no_selections       = 1
                report_not_existent = 2
                subroutine_pool     = 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.
      LOOP AT i_selections_info WHERE name = 'S_MATNR'.
    *-- some criteria based on which, move the values from this program
    *   to the called program
        CLEAR i_seltab.
        i_seltab-selname = i_selections_info-name.
        i_seltab-kind    = i_selections_info-kind.
        i_seltab-sign    = 'I'.
        i_seltab-option  = 'EQ'.
        i_seltab-low     = s_matnr-low.
        i_seltab-high    = s_matnr-high.
        APPEND i_seltab.
      ENDLOOP.
      IF NOT i_seltab[] IS INITIAL.
        SUBMIT (v_report) VIA SELECTION-SCREEN
                WITH SELECTION-TABLE i_seltab .
      ENDIF.
    If this works for you, please reward and close the post.
    Regards,
    Srinivas

  • Run alv report without selection screen in background

    Hello Every body,
    i programmed a ALV Report without selection screen, and i want to create a job for this alv report.
    Any help?
    Thank u.
    Ouail.

    Hi Steve,
    Can you tell me where i have to put your code?
    this is my abap code:
    START-OF-SELECTION.
       p_filref = '\\SAPSERVER\f\SAFT\ivat\FI_Extract_1000_20140709_102346_910.XML'.
       PERFORM copy_from_xml_to_itab TABLES it_ref_file
                                     ref_xml_data
                                     USING p_filref.
    **Begin Extraction File
       SUBMIT ZZ_FI_IVAT_EXTRACTOR
       WITH p_bukrs EQ '1000'
       WITH p_gjahr EQ '1998'
       WITH filepath EQ '\\SAPSERVER\f\SAFT\iVAT_Extractie\'
       WITH cldata eq space
       AND RETURN.
       DATA: FILE_TABLE  TYPE TABLE OF SDOKPATH,
       DIR_TABLE  TYPE TABLE OF SDOKPATH.
       CALL FUNCTION 'TMP_GUI_DIRECTORY_LIST_FILES'
         EXPORTING
           DIRECTORY  = '\\SAPSERVER\f\SAFT\iVAT_Extractie\'
           FILTER     = '*.*'
         TABLES
           FILE_TABLE = FILE_TABLE
           DIR_TABLE  = DIR_TABLE
         EXCEPTIONS
           CNTL_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.
       "get file name
       LOOP AT FILE_TABLE INTO p_filref.
       ENDLOOP.
       CONCATENATE '\\SAPSERVER\f\SAFT\iVAT_Extractie\' p_filref INTO path.
       PERFORM copy_from_xml_to_itab TABLES t_ext_file
                                     ext_xml_data
                                     USING path.
       PERFORM fill_xml_tab_in .
       perform build_fieldcatalog.
       PERFORM compare_data_ref_ext.
       PERFORM send_email.
       perform display_alv_report.
       PERFORM delete_extraction_file.
    in the perform copy_from_xml_to_itab TABLES it_ref_file......, i use this code:
       CREATE OBJECT gcl_xml.
    *Upload XML File
       CALL METHOD gcl_xml->import_from_file
         EXPORTING
           filename = p_filref
         RECEIVING
           retcode  = gv_subrc.
       IF gv_subrc = 0.
         CALL METHOD gcl_xml->render_2_xstring
           IMPORTING
             retcode = gv_subrc
             stream  = gv_xml_string
             size    = gv_size.
         IF gv_subrc = 0.
           REFRESH gt_xml_data[].
    * Convert XML to internal table
           CALL FUNCTION 'SMUM_XML_PARSE'
             EXPORTING
               xml_input = gv_xml_string
             TABLES
               xml_table = gt_xml_data
               return    = gt_return.
         ENDIF.
       ENDIF.

  • Call a report with selection screen as subscreen.

    Hi all,
    i need to Submit And Return a Report having some parameters and Select options, from a Function Module.
    all i want that the Selection Scrren of Report should appeared as Subscreeen, so that Calling Screen sould be visible in Background.
    Is this Possible , if yes then How ?
    thanks in advance,
    Nitin

    Running new report means opening new internal session. This can't be embeded within the current internal session where your function group (function module specifically) runs. So there is no such a way which you could run a report inside a subscreen area.
    If you however want only selection screen of the report to be embeded inside your subscreen area (not run) you can use
    "report Z_SUBSCREEN_REPORT
    SELECTION-SCREEN BEGIN OF SCREEN 0200 as SUBSCREEN.
      PARAMETERS pa type c.
    SELECTION-SCREEN end of SCREEN 0200.
    "main screen's flow logic in function group with subscreen area
    PROCESS BEFORE OUTPUT.
      call SUBSCREEN area INCLUDING 'Z_SUBSCREEN_REPORT '0200'.
    Regards
    Marcin

  • Regarding reports and selection screens

    Hi,
    I have to call one report program from anthoer report program . But the ohter report
    program has a selection with radio buttons and check boxes and parameters.
    we have to fill that selection screen from this program with the data
    and we have to skip that screen.
      How we have to do this ?

    Hi
    I believe you need to skip the selection screen of the report you call... please chk out the code below for the same
    *-- Company Code
      IF NOT us_bukrs[] IS INITIAL.
        LOOP AT us_bukrs INTO ls_bukrs.
          ls_rspar_line-selname = 'S_BUKRS'.
          ls_rspar_line-kind    = 'S'.
          ls_rspar_line-sign    = ls_bukrs-sign.
          ls_rspar_line-option  = ls_bukrs-option.
          ls_rspar_line-low     = ls_bukrs-low.
          IF NOT ls_bukrs-high IS INITIAL.
            ls_rspar_line-high     = ls_bukrs-high.
          ENDIF.
          APPEND ls_rspar_line TO lt_rspar_tab.
          CLEAR: ls_rspar_line,
                 ls_bukrs.
        ENDLOOP.            " us_bukrs
      ENDIF.                " us_bukrs
    *-- Business Entity of SU
      IF NOT us_swenr[] IS INITIAL.
        LOOP AT us_swenr INTO ls_swenr.
          ls_rspar_line-selname = 'S_SWENR'.
          ls_rspar_line-kind    = 'S'.
          ls_rspar_line-sign    = ls_swenr-sign.
          ls_rspar_line-option  = ls_swenr-option.
          ls_rspar_line-low     = ls_swenr-low.
          IF NOT ls_swenr-high IS INITIAL.
            ls_rspar_line-high     = ls_swenr-high.
          ENDIF.
          APPEND ls_rspar_line TO lt_rspar_tab.
          CLEAR: ls_rspar_line,
                 ls_swenr.
        ENDLOOP.            " us_swenr
      ENDIF.                " us_swenr
    *-- Get the Total costs from the report zrfreexposting_cc
      SUBMIT zreexposting_cc
             USING SELECTION-SCREEN '1000'
             WITH SELECTION-TABLE lt_rspar_tab
             WITH p_begin EQ uv_fdate
             WITH p_end EQ uv_tdate
             AND RETURN.
    Santosh

  • HOW TO USE SELECTION SCREEN

    HOW TO USE SELECTION SCREEN
    I WANT TO INSERT PURCHASE DOCUMENT NUMBER
    AND WANT TO SEE ALL INFORMATION FOR THAT PURCHASE DOCUMNET NUMBER.
    THANKS IN ADVANCED.

    The main use of the selection-screen is to select screen in the back ground
    ex :    
    TABNAME
    IN THE ABOVE FIGURE  TABNAME IS THE FIELD AND THE BACK END IS   CREATED SCREEN IN THE BACK END
    THIS SCREEN CREATION WE CAN USED THE SCREEN SELECTION

  • How to set my own gui status when i use selection-screen

    how to set my own gui status when i use selection-screen command
    and
    how to set the names in the application tool bar when function keys are created

    Make sure that you do this in event "AT SELECTION-SCREEN OUTPUT".
    Run Txn ABAPDOCU and check 'DEMO_SEL_SCREEN_STATUS' for sample.
    Also check out following discussion -
    Selection Screen PF-STATUS
    Cheers,
    Sanjeev

  • How to get ME23 screen using selection-screen

    Hi,
    I am trying to get the ME23 screen using selection-screen with following code.
    select-options: purordno for ekko-ebeln NO intervals.
    SUBMIT SAPMM06E VIA SELECTION-SCREEN .
    But at the time of execution i got this error "INCORRECT PROGRAM TYPE WITH SUBMIT".
    Can any one please provide me some sample code how to get the ME23  screen
    using Abap program.
    Regards,
    krishna/rajesh.

    Hi Rajesh,
    You can't submit a pool modul ( SAPMM06E ).
    Only executable prog can be submit .
    What you can try is use "CALL TRANSACTION" statement.
    Hope this helps,
    Erwan

  • Designing a calculator using selection screen(abap)

    hi i just now stepped into this technology. iam learning abap.  i like to jknow how to design a calculator using selection screen. 
    could any one give your  suggestions or any sites having such example programs . 
    thankyou

    Hi
    Welcome to SDN.
    Use the sample peace of code for design Calculator.
    Hi,
    Create push buttons for the + , - , / , * , = in your dialog program.
    Create an input field with the data type that can accept decimal places..
    When the enter 12 then press the push button "+" button store the value 12 in a variable v1..Then clear the input field..
    Then when the user enters another number..lets say "13"..
    Then if the user presses the "=" button...Then sum the values from the variable v1 with the input field..
    Hope this helps..
    Check this sample code..
    MODULE USER_COMMAND.
    CASE SY-UCOMM.
    WHEN 'ADDITION'.
    ASSUMING THE INPUT FIELD NAME IS P_INPUT.
    V_V1 = P_INPUT.
    V_OPERATION = '+'.
    CLEAR: P_INPUT.
    WHEN 'EQUALTO'.
    CASE V_OPERATION.
    ADDITION
    WHEN '+'.
    SUM UP THE VALUES.
    P_INPUT = P_INPUT + V_V1.
    ENDCASE.
    MULTIPLICATION
    WHEN '*'.
    MULTIPLY UP THE VALUES.
    P_INPUT = P_INPUT * V_V1.
    ENDCASE.
    ENDCASE.
    ENDMODULE.
    Regards,
    Sree

  • Report Painter selection screen field modfication?

    Hi Buddies,
    I want to modify the report painter selection screen.
    There is one field manadatory on the selection screen . I want to make it as optional.
    Please let me know if any one knows.
    Waiting for your response..
    Regards,
    Vijay

    Hello sir,
    Some one did the code. Now iam modifying this report painter selection screen.
    I would like to know where the field definition will take place in report painter.
    Regards,
    Vijnay

  • Screen Saver does not use selected Screen Saver when activated

    Screen Saver does not use selected Screen Saver when activated. After "Start screen saver" elapse time has been reached, a blank black full screen is displayed. I can activate the selected screen saver by using the hot corners function. Any help with this matter will be greatfully received.

    Hi again sassey,
    You're assuming correctly. Simply change the settings so that your screen saver activates before the sleep settings.
    Hope this solves your problem...

  • How to create a report with selection screen that can run in background

    Sorry to ask these basic questions but I am knew to ABAP Programming.
    To keep it simply, I am attempting to create a report that has a simple parameter driven selections screen with one field.  That field takes in a folder path from the user.  The user executes the report.  The report creates a simply BDC that goes into SE16, gathers data from a table, and exports the results to a text file using the folder path provided.  I created a variant for the folder path field in the selection screen hoping to use it while executing the report in the background.  The report is not exporting the file as it did when run in the foreground for some reason.
    I am wondering what event is triggered when a report is executed in the background.  In the foreground (or when I execute the program via SE38->Execute->With Variant) the user needs to execute the program by hitting the execute button once the variant has populated the folder path field.  It works then, so I am trying to get the same to work in the background.  I am thinking I didn't put the program together correctly to accommodate the running in the background.  How can you create a report that can accept user input via variant into a selection screen and then run in the background?
    Please, any information would be greatly appreciated.
    Thanks you all for reading this!!!

    Ok, finally I understand what you're doing. Initially you lost me with the SE16 reference...
    Not sure what you're trying to achieve overall, but apart from the fact that you cannot export/download a file to a user's PC via background job (unless you have a mapped network share on the server or something like an FTP server on the user's PC, but both are pretty hypothetical scenarios and unlikely to occur).
    Also, the BDC approach to get data via SE16 is pretty awkward. Note that SE16 is guarded by some authorization checks and often users won't have access in production (which might not matter if you intend to always run your program in background via dedicated batch user). However, I have no clue why you wouldn't want to use [open SQL|http://help.sap.com/abapdocu_70/en/ABENOPEN_SQL_READING.htm] to read the data. You could then save it on the application server or if you really have to get it to the user you can consider e-mailing the file (extracts should be compressed before sending). For the latter you'll find plenty of references here, basically it's the [business communication services|http://help.sap.com/saphelp_nw2004s/helpdata/en/2d/1c5d3aebba4c38e10000000a114084/frameset.htm] that you'd need to look at.

  • How  to filter by manager's name using selection screen

    Hi all,
      I am trying to modify the report to filter data from the report based on the manger name given in selection screen. As the manger's name was given in selection screen.. records have to come only of the employee how were working under that entered manager name.
      I am unable to follow this code to modify.. where to add select criteria to filter... please make modify to my code..
      I am pasting my code here, Can any one kindly help for this scenario.
    TABLES: PA0001,  "HR Master Record: Infotype 0001 (Org. Assignment),
            PA0002,
            P0000,
            PA9001,
            PA0007,
            HRP1001, "Infotype 1001 DB Table
            PA0034. "HR Master Record: Infotype 0034 (Corporate Function)
    *Internal table for holding output data
    DATA: IT_PA0002 LIKE PA0002  OCCURS 100 WITH HEADER LINE,
          IT_PA9001 LIKE PA9001  OCCURS 100 WITH HEADER LINE,
          IT_PA0007 LIKE PA0007  OCCURS 100 WITH HEADER LINE,
          IT_PA0034 LIKE PA0034  OCCURS 100 WITH HEADER LINE.
    DATA: IT_RET LIKE BAPIRET2,
          IT_ACT LIKE BAPI_SWHACTOR OCCURS 0,
          IT_STR LIKE BAPI_STRUC OCCURS 0,
          IT_ORG LIKE BAPI_OBJEC OCCURS 0,
          IT_POS LIKE BAPI_OBJEC OCCURS 0,
          IT_SUP LIKE BAPI_OBJEC OCCURS 0,
          IT_FCAT LIKE BAPI_HRAQFIELDDESCRIPTION OCCURS 0,
          IT_FDAT LIKE BAPI_HRFIELDDATA OCCURS 0,
          IT_ORGS TYPE STANDARD TABLE OF BAPI_OBJEC WITH HEADER LINE,
          IT_POSS TYPE STANDARD TABLE OF BAPI_OBJEC WITH HEADER LINE,
          IT_SUPR TYPE STANDARD TABLE OF BAPI_OBJEC WITH HEADER LINE,
          V_DATE  TYPE SY-DATUM,
          IT_T500P LIKE T500P OCCURS 0 WITH HEADER LINE,
          IT_TT500P LIKE T500P OCCURS 0 WITH HEADER LINE,
          IT_T001P LIKE T001P OCCURS 0 WITH HEADER LINE      .
    DATA: IT_PA0001 LIKE PA0001 OCCURS 100 WITH HEADER LINE,
          P_ENDDA LIKE sy-datum.
    DATA: Begin of I_HRE,
            pernr  like  pa0001-pernr,  "Emp Number
            nachn  like  pa0002-nachn,  "Last Name
            vorna  like  pa0002-vorna,  "First Name
            plans  like  BAPI_OBJEC-LONG_TEXT,  "Position
            div_text  like  pa9001-div_text,
            kztim  like  ZKZTIM_VAUES-name,
            stext  like  T591S-STEXT,     "Corporate function text
            werks  like  BAPI_OBJEC-LONG_TEXT,
            btrtl  like  pa0001-btrtl,
            orgeh  like  BAPI_OBJEC-LONG_TEXT,
            kostl  like  pa0001-kostl,
            mstbr  like  pa0001-mstbr,  "Supervisor
          End of I_HRE.
    DATA: I_HR like I_HRE occurs 100 with header line.
    DATA: V_PLANS LIKE PA0001-PLANS,
          V_EMP   LIKE PA0001-PERNR,
          V_KOSTL LIKE PA0001-KOSTL,
          V_SUPER LIKE BAPI_OBJEC-LONG_TEXT,
          V_EMP_POS LIKE BAPI_OBJEC-LONG_TEXT,
          V_SUPER_POS LIKE BAPI_OBJEC-LONG_TEXT,
          V_HEADER TYPE N VALUE 1,
          V_COUNTER TYPE N VALUE 1,
          EMP_INDICATOR TYPE N,
          V_ORGEH LIKE BAPI_OBJEC-LONG_TEXT,
          V_WERKS LIKE BAPI_OBJEC-LONG_TEXT,
          V_KZTIM LIKE ZKZTIM_VAUES-NAME,
          V_STEXT LIKE T591S-STEXT.
      DATA: v_file TYPE string,         "Detail Filename
            v_filerecord(1000),
            f_filerecord(1000),
            drive(3),
            mstbr  like  pa0001-mstbr,  "Supervisor
            count  type n value 0.
    SELECTION-SCREEN BEGIN OF BLOCK SELECTION WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS: S_PERNR FOR P0000-PERNR,
                    S_WERKS FOR PA0001-WERKS,
                    S_BTRTL FOR PA0001-BTRTL,
                    S_PERSG FOR PA0001-PERSG,
                    S_ORGEH FOR PA0001-ORGEH,
                    S_DIV   FOR PA9001-DIV_CODE,
                    S_KZTIM FOR PA0007-KZTIM,
                   S_sname for pa0001-sname, " this is to enter name
                                                             " as manager name
                    S_FUNKT FOR PA0034-FUNKT.
    SELECTION-SCREEN END OF BLOCK SELECTION.
    SELECTION-SCREEN BEGIN OF BLOCK SELECTION1 WITH FRAME TITLE TEXT-002.
    PARAMETERS:     P_BEGDA LIKE SY-DATUM DEFAULT sy-datum.
    *                P_ENDDA LIKE SY-DATUM DEFAULT '99991231'.
    SELECTION-SCREEN END OF BLOCK SELECTION1.
    START-OF-SELECTION.
    if P_BEGDA is initial.
      p_begda = sy-datum.
    endif.
    if P_ENDDA is initial.
      p_endda = sy-datum.
    endif.
    if S_PERSG is initial.
    *    S_PERSG-SIGN = 'I'.
    *    S_PERSG-OPTION = 'EQ'.
    *    S_PERSG-LOW = '1'.
    *    APPEND S_PERSG.
    *    S_PERSG-SIGN = 'I'.
    *    S_PERSG-OPTION = 'EQ'.
    *    S_PERSG-LOW = '6'.
    *    APPEND S_PERSG.
        S_PERSG-SIGN = 'I'.
        S_PERSG-OPTION = 'NE'.
        S_PERSG-LOW = '5'.
        APPEND S_PERSG.
    endif.
      SELECT * FROM PA0001 into IT_PA0001
        WHERE PERNR IN S_PERNR
          AND WERKS IN S_WERKS
          AND BTRTL IN S_BTRTL
          AND PERSG IN S_PERSG
          AND ORGEH IN S_ORGEH
          AND BEGDA LE P_BEGDA
          AND ENDDA GE P_ENDDA.
        APPEND IT_PA0001.
      ENDSELECT.
      IF not S_DIV[] is initial.
        SELECT * FROM PA9001 into IT_PA9001
          WHERE DIV_CODE IN S_DIV.
          APPEND IT_PA9001.
        ENDSELECT.
      ENDIF.
      IF not S_KZTIM[] is initial.
        SELECT * FROM PA0007 into IT_PA0007
          WHERE KZTIM IN S_KZTIM.
          APPEND IT_PA0007.
        ENDSELECT.
      ENDIF.
      IF not S_FUNKT[] is initial.
        SELECT * FROM PA0034 into IT_PA0034
          WHERE FUNKT IN S_FUNKT.
          APPEND IT_PA0034.
        ENDSELECT.
      ENDIF.
      SORT IT_PA0001 by SNAME.
      LOOP AT IT_PA0001.
        IF not S_DIV[] is initial.
          READ TABLE IT_PA9001 with key pernr = IT_PA0001-PERNR.
          IF sy-subrc ne 0.
            continue.
          ENDIF.
        ENDIF.
        IF not S_KZTIM[] is initial.
          READ TABLE IT_PA0007 with key pernr = IT_PA0001-PERNR.
          IF sy-subrc ne 0.
            continue.
          ENDIF.
        ENDIF.
        IF not S_FUNKT[] is initial.
          READ TABLE IT_PA0034 with key pernr = IT_PA0001-PERNR.
          IF sy-subrc ne 0.
            continue.
          ENDIF.
        ENDIF.
          V_COUNTER = 1.
                V_EMP = IT_PA0001-PERNR.
                V_KOSTL = IT_PA0001-KOSTL.
    *            WRITE: (10) V_EMP, (20) PA0002-NACHN, (20) PA0002-VORNA.
          WRITE: / SY-VLINE.                   " Left border
            WHILE V_EMP NE ''.
                PERFORM GET_SUPER CHANGING V_EMP V_SUPER
                                    V_EMP_POS.
              if v_emp ne ''.
                  select single * into it_pa0002 from pa0002
                    where pernr = v_emp
                      and begda LE p_begda
                      and endda GE p_endda.
                  IF V_HEADER = 1.
                        PERFORM HEADING.
                    V_HEADER = 0.
                  ENDIF.
                  WRITE:  (10) V_EMP, (17) IT_PA0002-NACHN
                          ,(17) IT_PA0002-VORNA, (40) V_EMP_POS.
                  move v_emp  to  i_hr-pernr.
                  move IT_PA0002-NACHN  to  i_hr-nachn.
                  move IT_PA0002-VORNA  to  i_hr-vorna.
                  move V_EMP_POS  to  i_hr-plans.
                  EMP_INDICATOR = V_COUNTER.
                  IF V_COUNTER = 1.
                    select single * into it_pa9001 from pa9001
                      where pernr = v_emp
                        and begda LE p_begda
                        and endda GE p_endda.
                    select single * into it_pa0007 from pa0007
                      where pernr = v_emp
                        and begda LE p_begda
                        and endda GE p_endda.
                    PERFORM GET_KZTIM_TEXT CHANGING it_pa0007-kztim V_KZTIM.
                    select single * into it_pa0034 from pa0034
                      where pernr = v_emp
                        and begda LE p_begda
                        and endda GE p_endda.
                    PERFORM GET_FUNKT_TEXT CHANGING it_pa0034-funkt v_stext.
                    write: (8) IT_PA9001-DIV_CODE, (17) V_KZTIM,
                           (25) V_STEXT.
                    move  IT_PA9001-DIV_CODE  to  i_hr-div_text.
                    move  v_KZTIM  to  i_hr-kztim.
                  ENDIF.
                  IF V_COUNTER = 0.
                    WRITE: (1) '|'.
                  ENDIF.
                  IF V_COUNTER = 1.
                    PERFORM GET_NAMES.
                    WRITE: (20) V_WERKS, (5) IT_PA0001-BTRTL
                            ,(20) V_ORGEH,(11) V_KOSTL, (3) '|'.
                    V_COUNTER = 0.
                    move  V_WERKS  to  i_hr-werks.
                    move  IT_PA0001-BTRTL  to  i_hr-btrtl.
                    move  V_ORGEH  to  i_hr-orgeh.
                    move  V_KOSTL  to  i_hr-kostl.
                  ENDIF.
                clear it_pa0002.
                refresh it_pa0002.
              endif.
                V_EMP = V_SUPER.
                move V_SUPER to i_hr-mstbr.
                if EMP_INDICATOR EQ 1.
                  append i_hr.
                endif.
                clear i_hr.
            ENDWHILE.
      NEW-LINE.
      CLEAR : V_KZTIM, it_pa9001, it_PA0007.
      ENDLOOP.
    * Check if its a background Job
      IF SY-BATCH NE SPACE.
        perform write_file.     "Output File
      ENDIF.
      ULINE.
    *&      Form  GET_SUPER
    *       This subroutine takes the position number and get the position
    * number that it reports to and then who is holding that position and
    * then the name of the person who is holding that position in order to
    * provide the supervisors name for the person in that position.
    *  -->  p1        text
    *  <--  p2        text
    FORM GET_SUPER CHANGING EMP_SUB EMP_SUPER
                               EMP_SUB_POS  .
      DATA: v_reporto like hrp1001-varyf value space,
            v_holder  like hrp1001-varyf value space,
            v_filled  like hrp1001-varyf value space,
            v_otype   like hrp1001-otype value space,
            v_objid   like hrp1001-objid value space.
      CLEAR: v_reporto, v_holder, v_filled, v_otype, v_objid,
                              EMP_SUB_POS.
      Select single plans
        into v_plans
        from pa0001
            where pernr = emp_sub
              and begda LE p_begda
              and endda GE p_endda.
            CALL FUNCTION 'BAPI_ORGUNITEXT_DATA_GET'
               EXPORTING
                  PLVAR                = '01'
                  OTYPE                = 'S'
                  OBJID                = v_PLANS
                  KEYDATE              = SY-DATUM
                  SCENARIO             = '    '
    *                 EVALPATH             = 0
                  EVALDEPTH            = 0
               IMPORTING
                  RETURN               = IT_RET
               TABLES
    *                 ACTORTAB             = IT_ACT
    *                 STRUCTURALDATA       = IT_STR
                  OBJECTSDATA          = IT_SUP
    *                 FIELDCATALOGUE       = IT_FCAT
    *                 FIELDDATA            = IT_FDAT
            IF SY-SUBRC EQ 0.
              READ TABLE IT_SUP INTO IT_SUPR
                 WITH KEY PLAN_VERS  = '01'
                          OBJECTTYPE = 'S'
                          OBJECT_ID  = v_PLANS.
              IF SY-SUBRC EQ 0.
                MOVE IT_SUPR-LONG_TEXT TO EMP_SUB_POS.
              ENDIF.
            ENDIF.
      Select Single varyf
         into v_reporto
         from hrp1001
            where otype = 'S'
              and objid = v_plans
              and rsign = 'A'
              and relat = '002'
              and begda LE p_begda
              and endda GE p_endda.
      if sy-subrc = 0.
        move v_reporto+0(1) to v_otype.
        move v_reporto+2(8) to v_objid.
        Select single varyf
           into v_holder
           from hrp1001
              where otype = v_otype
                and objid = v_objid
                and rsign = 'A'
                and relat = '008'
              and begda LE p_begda
              and endda GE p_endda.
        if sy-subrc = 0.
          move v_holder+0(1) to v_otype.
          move v_holder+2(8) to v_objid.
          EMP_SUPER = v_objid.
        IF EMP_SUB = EMP_SUPER.
           EMP_SUPER = ''.
        ENDIF.
    *      Select single varyf
    *         into v_filled
    *            from hrp1001
    *               where otype = v_otype
    *                 and objid = v_objid
    *                 and rsign = 'A'
    *                 and relat = '209'.
    *      if sy-subrc = 0.
    *        CLEAR: IT_RET, IT_ACT, IT_STR,  IT_FCAT, IT_FDAT,
    *               IT_SUP, IT_SUPR.
    *        REFRESH: IT_POSS.
    *        move v_filled+0(2) to v_otype.
    *        move v_filled+2(8) to v_objid.
    *        CALL FUNCTION 'BAPI_ORGUNITEXT_DATA_GET'
    *           EXPORTING
    *              PLVAR                = '01'
    *              OTYPE                = v_otype
    *              OBJID                = v_objid
    *              KEYDATE              = V_DATE
    *              SCENARIO             = '    '
    **                 EVALPATH             = 0
    *              EVALDEPTH            = 0
    *           IMPORTING
    *              RETURN               = IT_RET
    *           TABLES
    **                 ACTORTAB             = IT_ACT
    **                 STRUCTURALDATA       = IT_STR
    *              OBJECTSDATA          = IT_SUP
    **                 FIELDCATALOGUE       = IT_FCAT
    **                 FIELDDATA            = IT_FDAT
    *        IF SY-SUBRC EQ 0.
    *          READ TABLE IT_SUP INTO IT_SUPR
    *             WITH KEY PLAN_VERS  = '01'
    *                      OBJECTTYPE = v_otype
    *                      OBJECT_ID  = v_objid.
    *          IF SY-SUBRC EQ 0.
    *            MOVE IT_SUPR-LONG_TEXT TO EMP_SUPER.
    *          ENDIF.
    *        ENDIF.
    *      endif.
        endif.
      endif.
        if sy-subrc <> 0.
           EMP_SUPER = ''.
        endif.
    ENDFORM.                    " GET_SUPER
    *&      Form  HEADING
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM HEADING .
      FORMAT INTENSIFIED OFF.              " Remove any INTENSIFIED
      FORMAT COLOR COL_HEADING INTENSIFIED." Title color
      WRITE:  (10) 'Employee', (17) 'Last Name'
                          ,(17) 'First Name', (40) 'Position'
                          ,(8) 'Division', (17) 'Management Type'
                          ,(25) 'Corporate Function'
          ,(20) 'Personnel Area', (5) 'PSA'
          ,(20) 'Org. Unit',(11) 'Cost Center',(3) '|'
              ,(10) 'Supervisor', (17) 'Last Name'
                          ,(17) 'First Name', (40) 'Position', (1) '|'
              ,(10) 'Supervisor', (17) 'Last Name'
                          ,(17) 'First Name', (40) 'Position', (1) '|'
              ,(10) 'Supervisor', (17) 'Last Name'
                          ,(17) 'First Name', (40) 'Position', (1) '|'
              ,(10) 'Supervisor', (17) 'Last Name'
                          ,(17) 'First Name', (40) 'Position', (1) '|'
              ,(10) 'Supervisor', (17) 'Last Name'
                          ,(17) 'First Name', (40) 'Position', (1) '|'
              ,(10) 'Supervisor', (17) 'Last Name'
                          ,(17) 'First Name', (40) 'Position', (1) '|'
              ,(10) 'Supervisor', (17) 'Last Name'
                          ,(17) 'First Name', (40) 'Position', (1) '|'
              ,(10) 'Supervisor', (17) 'Last Name'
                          ,(17) 'First Name', (40) 'Position', (1) '|'
              ,(10) 'Supervisor', (17) 'Last Name'
                          ,(17) 'First Name', (40) 'Position', (1) '|'
      ULINE  .                    " Line below titles
        NEW-LINE.
          WRITE: / SY-VLINE.                   " Left border
      FORMAT COLOR OFF.
    ENDFORM.                    " HEADING
    *&      Form  GET_NAMES
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM GET_NAMES .
      CLEAR: IT_RET, IT_ACT, IT_STR, IT_ORG, IT_POS, IT_FCAT, IT_FDAT,
             IT_ORGS, IT_POSS, V_ORGEH, V_WERKS.
      REFRESH: IT_ORGS, IT_POSS.
      MOVE SY-DATUM TO V_DATE.
      CALL FUNCTION 'BAPI_ORGUNITEXT_DATA_GET'
         EXPORTING
            PLVAR                = '01'
            OTYPE                = 'O '
            OBJID                = IT_PA0001-ORGEH
            KEYDATE              = V_DATE
            SCENARIO             = '    '
    *         SCENARIO             = 'MDT1'
    *         EVALPATH             = '0       '
            EVALDEPTH            = 0
         IMPORTING
            RETURN               = IT_RET
         TABLES
    *         ACTORTAB             = IT_ACT
    *         STRUCTURALDATA       = IT_STR
             OBJECTSDATA          = IT_ORG
    *         FIELDCATALOGUE       = IT_FCAT
    *         FIELDDATA            = IT_FDAT
      IF SY-SUBRC EQ 0.
        READ TABLE IT_ORG INTO IT_ORGS
           WITH KEY PLAN_VERS  = '01'
                    OBJECTTYPE = 'O '
                    OBJECT_ID  = IT_PA0001-ORGEH.
        IF SY-SUBRC EQ 0.
          MOVE IT_ORGS-LONG_TEXT TO V_ORGEH.
        ENDIF.
      ENDIF.
      CALL FUNCTION 'HR_TMW_READ_T500P'
        EXPORTING
          PERSA          = IT_PA0001-WERKS
        IMPORTING
          W500P          = IT_T500P
        EXCEPTIONS
          NO_ENTRY_FOUND = 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.
      IF SY-SUBRC EQ 0.
        MOVE IT_T500P-NAME1 TO V_WERKS.
        CLEAR:  IT_T500P.
        REFRESH: IT_T500P.
      ENDIF.
    *  CALL FUNCTION 'HR_TMW_READ_T001P'
    *    EXPORTING
    *      PERSA          = PA0001-WERKS
    *      BTRTL          = PA0001-BTRTL
    *    IMPORTING
    *      W001P          = IT_T001P
    *    EXCEPTIONS
    *      NO_ENTRY_FOUND = 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.
    *  IF SY-SUBRC EQ 0.
    *    MOVE IT_T001P-BTEXT TO IT_HRR05-BTRTL.
    *  ENDIF.
    ENDFORM.                    " GET_NAMES
    *&      Form  GET_KZTIM_TEXT
    *       text
    *      <--P_V_EMP  text
    *      <--P_V_KZTIM  text
    FORM GET_KZTIM_TEXT  CHANGING P_KZTIM_ID
                                  P_KZTIM.
      select single NAME into P_KZTIM from ZKZTIM_VAUES
              where TYPE eq P_KZTIM_ID.
    ENDFORM.                    " GET_KZTIM_TEXT
    *&      Form  GET_FUNKT_TEXT
    *       text
    *      <--P_V_EMP  text
    *      <--P_V_KZTIM  text
    FORM GET_FUNKT_TEXT  CHANGING P_FUNKT_ID
                                  P_STEXT.
      select single STEXT into P_STEXT from T591S
              where SPRSL eq 'EN' and
                    INFTY eq '0034' and
                    SUBTY eq P_FUNKT_ID.
    ENDFORM.                    " GET_KZTIM_TEXT
    *&      Form  write_file
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM write_file .
    *   Checking the System ID
      if sy-sysid = 'RD1'.
        drive = 'D:\'.
      else.
        drive = 'M:\'.
      endif.
    *  concatenate drive sy-sysid
    *              '\Output\Reports\HR\HR_Public\Emp_Hierarchy'
    *              sy-datum
    *              '.xls' into v_file.
      concatenate drive sy-sysid
                  '\Output\Reports\HR\HR_Public\Emp_Hierarchy.xls'
                  into v_file.
      OPEN DATASET v_file FOR OUTPUT in text mode encoding default.
      concatenate 'Employee'
                  'Last Name'
                  'First Name'
                  'Position'
                  'Division'
                  'Management Type'
                  'Corporate Function'
                  'Personnel Area '
                  'PSA'
                  'Org. Unit'
                  'Cost Center'
                  'Supervisor'
                  'Last Name'
                  'First Name'
                  'Position'
                  'Supervisor'
                  'Last Name'
                  'First Name'
                  'Position'
                  'Supervisor'
                  'Last Name'
                  'First Name'
                  'Position'
                  'Supervisor'
                  'Last Name'
                  'First Name'
                  'Position'
                  'Supervisor'
                  'Last Name'
                  'First Name'
                  'Position'
                  'Supervisor'
                  'Last Name'
                  'First Name'
                  'Position'
                  'Supervisor'
                  'Last Name'
                  'First Name'
                  'Position'
                  'Supervisor'
                  'Last Name'
                  'First Name'
                  'Position'
                  'Supervisor'
                  'Last Name'
                  'First Name'
                  'Position'
                   into v_filerecord
                   separated by CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
      transfer v_filerecord to v_file.    "Writing to file
      clear v_filerecord.
      loop at IT_PA0001.
        do.
          if count eq 0.
            read table i_hr with key pernr = IT_PA0001-pernr.
            concatenate i_hr-pernr
                        i_hr-nachn
                        i_hr-vorna
                        i_hr-plans
                        i_hr-div_text
                        i_hr-kztim
                        i_hr-stext
                        i_hr-werks
                        i_hr-btrtl
                        i_hr-orgeh
                        i_hr-kostl
                        into v_filerecord
                        separated by CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
             mstbr = i_hr-mstbr.
             count = count + 1.
          else.
            read table i_hr with key pernr = mstbr.
            concatenate v_filerecord
                        i_hr-pernr
                        i_hr-nachn
                        i_hr-vorna
                        i_hr-plans
                        into f_filerecord
                        separated by CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
            v_filerecord = f_filerecord.
            mstbr = i_hr-mstbr.
            clear i_hr.
          endif.
          if mstbr eq space.
            exit.
          endif.
        enddo.
        transfer v_filerecord to v_file.  "Writing to file
        clear: v_filerecord, f_filerecord, count.
      endloop.
      CLOSE DATASET v_file.
    ENDFORM.                    " write_file
    Edited by: Surender Batlanki on Feb 20, 2008 7:50 AM
    Edited by: Surender Batlanki on Feb 20, 2008 7:59 AM
    Edited by: Surender Batlanki on Feb 20, 2008 8:12 AM
    Edited by: Surender Batlanki on Feb 20, 2008 3:16 PM
    Edited by: Alvaro Tejada Galindo on Feb 20, 2008 9:26 AM

    Hi Surender,
    In the Perform GET_SUPER, you are getting manager's OBJID. Use this OBJID and from PA0001 get Manger's name.
    While passing data to output table, filter that table by Manager's name and then pass output table for display.
    Hope this helps u.
    <REMOVED BY MODERATOR>
    Regards,
    Preeti
    Edited by: Alvaro Tejada Galindo on Feb 20, 2008 9:26 AM

  • Report Groups - Selection screen on receiver report

    Hi there,
    When dealing with sender / receiver reports, do you know if it's possible to force a selection screen prompt when calling a receiver report during execution?
    A report was written in the Report Painter, and belongs to a report group called 1OAB.  This report group has three receiver reports defined, so when users double click on a value, it will forward navigate to another report (receiver report, selected after double click) using the same selection criteria of the current report (sender).
    My <b>problem</b>, is that the selection criteria that is passed by the sender isn't sufficient for the receiver report, and the report ends up running with a much larger selection than required. 
    My <b>question</b>, is whether or not we can either:
    <b>a)</b> Interrupt during the report call and prompt with the report selection screen for the receiver report.  This would allow the user to input any missing selections.
    <b>b)</b> Add in any missing selections via a user exit.  I have not had much luck in finding such an exit.  The closest I got was form 'USEREXIT1' from include LRSTIF90.  This exit appears to be called before and after the report call.  I'm not sure if it's a true exit though, as it's just a piece of code in an include and is referred to as an exit?  To implement would I just register the object and add in my code?
    Any suggestions would be appreciated!
    Thanks,
    L

    FYI the only solution I see is to put in a modification to prompt a selection screen during execution. Modification would go in include 'LRSTIF02' as follows:
    PERFORM report_check_obligatory TABLES it_fieldr
                                      USING flg_obl.
    ** MODIFICATION **
    if ld_tcode = 'FBL3N'.
        flg_obl = 'X'.
    endif.
    ** END MODIFICATION **
      IF flg_obl IS INITIAL.
        CALL TRANSACTION ld_tcode AND SKIP FIRST SCREEN.
      ELSE.
        CALL TRANSACTION ld_tcode.
      ENDIF.
    * clear parameter ids
    * perform clear_pid_fieldr tables it_fieldr it_dfies.
      PERFORM reset_pid_fieldr TABLES it_fieldr it_selpid.
    * if flg_return = 'X'.
    *   call transaction ld_tcode and skip first screen.
    * else.
    *   leave to transaction ld_tcode.
    * endif.
    ENDFORM.
    If anybody has a better idea on how to accomplish this I'd love to hear it!
    Thanks,
    L

Maybe you are looking for

  • New ipad help

    I just got my first iPad and it is the mini retina 64 gigs. I don't what to do with it? What can I/should I do with it? Is this a good investment? I have 7.0.4 do I need to update the software Is this the best iPad or should I take it back for a bett

  • Vehicle Consumption Analysis question?

    I'm working with the Vehicle Consumption analysis objects in SAP BW (0PM_C12 and 0PM_DS08) and I've got a question regarding the retrieval of Operation hours. The 0PM_FLEET datasource retrieves Distance, Fuel, and Operating Hours from SAP ecc and the

  • Iweb website wont go on domain name

    i purchased a domain name from network solutions, and made my iweb website, which i will be hosting with mpbileme. i then changed the CNAME (alias) to web.me.com on www, and followed all the instructions, howevermy website has not been uploaded to th

  • Regarding Shortdump "CALL FUNCTION 'RSAU_READ_FILE"

    hey.. I am trying to use this below functional module. It goest to shortdump <b>"CALL FUNCTION CONFLICT _LENG"</b> even i cant check whether sy-subrc is <> 0 or not. How to stop this SHORTDUMP. could somebody help me here.. (Situation used is : When

  • I'm having trouble communicating with a transducer (Keyence LS-3100 laser scan micrometer) via the serial port. It works in Hyperterminal. Any suggestions?

    Its not a simple baud-rate or parity error. If I issue the command to send data (X1) in hyperterminal I start to get data. If I then switch to Labview I still get data. However if I try to issue the send-data command via Labview I get nothing (i.e. I