Generating WWI Report in Background by JOB in SM36

Hello,
I have got a requirement to generate WWI report for specification and save it to Desktop using Program which will be scheduled in Background.
I have found some Standard Function module (C12H_WWI_DISPLAY_DIRECT) which generates and displays the report in foreground. When I use that FM in program and schedule that program in Background , it is not generating any report for specification.
Please anyone has any suggestion of how to generate WWI report for specification in background.
Thanks ,
Sujit

Dear Sujit
topic has been discussed very often in EHS FORUm. As reference: Bulk MSDS Download
C.B.
PS: according to my knowlegde: C12H_WWI_DISPLAY_DIRECT is used to get a WWI report for "client"; the document is not stored in SAP DMS etc.; therefore: this is no "real" report. EHS knows a functionality to show onclient level (SAP GUI) the WWI report. But the content is not "verified" by an expert.
In any case may be these threads might be of interest:
Invoke WWI from WebDynpro Application
RFC to display MSDS reports
Problem while generating the WWI Reports from Portal

Similar Messages

  • Processing of OO ALV reports in background

    Hello,
    I am using Object Oriented ALV grid dispaly in Report, I am trying to process the report in Background
    The job is cancelled issuing a message GUI screen not reached.
    Can we run the OOALV Grid display in Background, if not any other way to overcome this issue.
    Thanks,
    Ravi.

    Just search the Forum, you will find the answer for your question.
    Hint:  cl_gui_alv_grid=>offiline  search with that key word.

  • ALV Report In Background.. Generating same out put using ABAP Extracts

    Hi
        We are running ALV reports and generating out put in background using Extracts. We are having a discussion that SAP doesn’t recommend to execute ALV reports using batch and generate report output , as it heavily load for spool ... we are coming across some problem when I analyze Sm37 ... I found an error " ABAP framework unable to initialize " .
    I want an input/suggestion what you guys think about it?
    Thanks in Advanced...
    Bye

    Nope... We’re using some batch id which use to run background job, as I am also in SAP Security, I just verify it has all the security to run the report . As this report is running fine if we ran it other then batch id ... as before it was running fine .
    Thanks
    Message was edited by: Saquib Khan

  • RE: Report for Background jobs

    Hi SAP Guru's,
    I need to create a report on Background Job status , please tell me is there any standard reports ? or How to create a report on Background Jobs Status?
    Thanks in Advance,
    Krishna.

    Dear Raja,
    In std report this is not possible, talk to ur ABAPer to fetch the feild PLNUM from AFPO table with respect to the AUFNR field. This can be added to the std report itself. use this logic it will work
    sree

  • Regarding running a report in background and generate spool

    Hi,
    I am developing a report [<b>REPORT1</b>].
    It is taking long to execute if data is more.
    Now i want to schedule this report in background and generate spool along with.
    So once i execute REPORT1 it should run in background & generate spool?
    Can anybody give inputs for the same!
    Thanks,
    Deep.

    Hi,
              to generate spool, use below code
    FORM create_spool .
    CONSTANTS : l_c_device(4) VALUE 'LOCL'.
    Create Spool Request
    NEW-PAGE PRINT ON
    LINE-SIZE 120
    DESTINATION l_c_device
    IMMEDIATELY ' '
    KEEP IN SPOOL 'X'
    NEW LIST IDENTIFICATION 'X'
    NO DIALOG.
    ENDFORM. " create_spool
    And after createing spool to get the spool number use below code,
    FORM obtain_spool_id .
    TYPES : BEGIN OF t_tsp01,
    rqident TYPE tsp01-rqident,
    rqowner TYPE tsp01-rqowner,
    END OF t_tsp01.
    DATA : it_tsp01 TYPE STANDARD TABLE OF t_tsp01,
    wa_tsp01 LIKE LINE OF it_tsp01.
    SELECT rqident
    rqowner
    FROM tsp01
    INTO TABLE it_tsp01
    WHERE rqowner = sy-uname.
    SORT it_tsp01 BY rqident DESCENDING.
    READ TABLE it_tsp01 INTO wa_tsp01 INDEX 1.
    IF sy-subrc = 0 .
    v_spool_nr = wa_tsp01-rqident.
    ENDIF.
    Capture the immediate spool created for this report
    v_spool_nr = sy-spono.
    ENDFORM. " obtain_spool_id
    <b>Reward points</b>
    Regards

  • Generating PDF Report and Mailing from APEX through DBMS_SCHEDULER job

    Hi,
    We have a requirement to generate pdf reports and mail them from our apex app through a DBMS_SCHEDULER job. The DBMS_SCHEDULER job calls a PL/SQL procedure which has the logic for calling the APEX_UTIL.GET_PRINT_DOCUMENT API (Function Signature 3) passing the application_id, the report_query_name and the report_layout_name  to generate the pdf report output. The APEX_UTIL.GET_PRINT_DOCUMENT call is returning NULL when called from the DBMS_SCHEDULER job (It doesn't throw any exception as well!). But the same procedure when called from an APEX App Page Process that is invoked on an event like a Button click, the API returns the PDF report output.
    I am also setting the APEX workspace security_group_id at the beginning of the PL/SQL procedure as follows:
    l_workspace_id := apex_util.find_security_group_id (p_workspace => 'MY_WORKSPACE');
    apex_util.set_security_group_id (p_security_group_id => l_workspace_id);
    Any idea on what might be going wrong? Any alternative ways to generate the report output in the PL/SQL procedure?
    Thanks & Regards,
    Sujesh K K

    I was able to do a workaround for this issue by rebooting the DB.
    As per ID 579281.1, this is a bug in 11.1.0.6 and we need to upgrade the version to 11.1.0.7 or apply a one -off patch.
    Thanks,
    Arun

  • ALV report in Background Job

    Hi,
    We have an report in which we are using FM :- REUSE_ALV_LIST_DISPLAY.
    In forgroud the Report Header is getting displayed only Once.
    When we run the report in background, we are getting in spool in which there are "Page Break and Header" in every page.
    Downloading the report to MS Excel from Spool is creating setting problem.
    Please tell me "how can we do so while running the report in background, "Page break and header dosen't create i.e only One Header and One Page"
    Waiting for reply..
    Saurabh Garg

    Hi Saurabh ,
    Use TOP-OF-LIST instead of TOP-OF-PAGE.
    Please check this sample with different events in ALV-GRID.
    report zbnstest.
    * TABLES AND DATA DECLARATION.
    *TABLES: mara,makt.",marc.
    data syrepid like sy-repid.
    data sydatum(10). " LIKE sy-datum.
    data sypagno(3) type n.
    * WHEN USING MORE THAN ONE TABLE IN ALV WE NEEED TO DECLARE THE TYPE
    * GROUP (TYPE-POOLS--------->SLIS)
    type-pools : slis.
    * INTERNAL TABLE DECLARATION.
    * INTERNAL TABLE TO HOLD THE VALUES FROM THE MARA TABLE
    data: begin of t_mara occurs 0,
    matnr like mara-matnr,
    meins like mara-meins,
    mtart like mara-mtart,
    matkl like mara-matkl,
    end of t_mara.
    * INTERNAL TABLE TO HOLD THE CONTENTS FROM THE EKKO TABLE
    data : begin of t_marc occurs 0,
    matnr like mara-matnr,
    werks like marc-werks,
    minbe like marc-minbe.
    data: end of t_marc.
    * INTERNAL TABLE TO HOLD THE VALUES FROM MAKT TABLE.
    data : begin of t_makt occurs 0,
    matnr like mara-matnr,
    maktx like makt-maktx,
    spras like makt-spras,
    end of t_makt.
    * INTERNAL TABLE WHICH ACTUALLY MERGES ALL THE OTHER INTERNAL TABLES.
    data: begin of itab1 occurs 0,
    matnr like mara-matnr,
    meins like mara-meins,
    maktx like makt-maktx,
    spras like makt-spras,
    werks like marc-werks,
    minbe like marc-minbe,
    end of itab1.
    * THE FOLLOWING DECLARATION IS USED FOR DEFINING THE FIELDCAT
    * AND THE LAYOUT FOR THE ALV.
    * HERE AS slis_t_fieldcat_alv IS A INTERNAL TABLE WITHOUT A HEADER LINE
    * WE EXPLICITELY DEFINE AN INTERNAL TABLE OF THE SAME STRUCTURE AS THAT
    * OF slis_t_fieldcat_alv BUT WITH A HEADER LINE IN THE DEFINITION.
    * THIS IS DONE TO MAKE THE CODE SIMPLER.
    * OTHERWISE WE MAY HAVE TO DEFINE THE STRUCTURE AS IN THE NORMAL SAP
    * PROGRAMS.
    * IN THE FIELDCATALOG TABLE WE ACTUALLY PASS THE FIELDS FROM ONE OR
    * MORE TABLES AND CREATE A STRUCTURE
    * IN THE LAYOUT STRUCTURE WE BASICALLY DEFINE THE FORMATTING OPTIONS
    * LIKE DISPLAY IN THE ZEBRA PATTERN ,THE HOTSPOT OPTIONS ETC.
    data: fieldcatalog type slis_t_fieldcat_alv with header line,
    fieldlayout type slis_layout_alv.
    * DECLARING THE EVENTTABLE INTERNL TABLE FOR USING EVENTS LIKE
    * TOP-OF-PAGE ETC.
    data : eventstab type slis_t_event with header line.
    * DECLARING AN INTERNAL TABLE TO HOLD THE DATA FOR THE TOP-OF-PAGE
    data : heading type slis_t_listheader with header line.
    data : heading1 type slis_t_listheader with header line.
    data : heading2 type slis_t_listheader with header line.
    data : heading3 type slis_t_listheader with header line.
    data : heading4 type slis_t_listheader with header line.
    data : heading5 type slis_t_listheader with header line.
    data : heading6 type slis_t_listheader with header line.
    data : heading7 type slis_t_listheader with header line.
    data : heading8 type slis_t_listheader with header line.
    * STRUCTURE TO PASS THE COLOR ATTRIBUTES FOR DISPLAY.
    data : colorstruct type slis_coltypes.
    * INITIALIZATION. *
    initialization.
    syrepid = sy-repid.
    sypagno = sy-pagno.
    clear fieldcatalog.
    * START-OF-SELECTION. *
    start-of-selection.
    * SUBROUTINE TO POPULATE THE COLORSTRUCT
    perform fill_colorstruct using colorstruct.
    * SUBROUTINE TO POPULATE THE FIELDS OF THE FIELD CATALOGUE
    perform populate_fieldcatalog.
    * SUBROUTINE TO SELECT DATA FROM VARIOUS TABLES AND POPULATE IT IN THE
    * INTERNAL TABLE.
    perform selectdata_and_sort.
    * SUBROUTINE TO POPULATE THE LAYOUT STRUCTURE.
    perform populate_layout using fieldlayout.
    * SUBROUTINE TO CALL THE FUNCTION MERGE TO ENSURE PROPER DISPLAY.
    perform merge_fieldcatalog.
    * SUBROUTINE TO POPULATE THE EVENTSTAB.
    perform fill_eventstab tables eventstab.
    * SUBROUTINE TO POPULATE THE HEADING TABLES.
    perform fill_headingtable tables heading using 'HEADING'.
    perform fill_headingtable tables heading1 using 'HEADING1'.
    perform fill_headingtable tables heading2 using 'HEADING2'.
    perform fill_headingtable tables heading3 using 'HEADING3'.
    perform fill_headingtable tables heading4 using 'HEADING4'.
    perform fill_headingtable tables heading5 using 'HEADING5'.
    perform fill_headingtable tables heading6 using 'HEADING6'.
    perform fill_headingtable tables heading7 using 'HEADING7'.
    perform fill_headingtable tables heading8 using 'HEADING8'.
    * SUBROUTINE TO DISPLAY THE LIST.
    perform display_alv_list.
    * FORMS
    * IN THIS SUBROUTINE WE POPULATE THE FIELDCATALOG TABLE WITH THE NAMES
    * OF THE TABLE,FIELDNAME,WHETHER IT IS KEY FIELD OR NOT,HEADING AND
    * COLUMN JUSTIFICATION.
    form populate_fieldcatalog.
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MATNR' 'X' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MEINS' ' '.
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MAKTX' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MTART' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MATKL' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'SPRAS' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'WERKS' ' ' .
    perform fill_fields_of_fieldcatalog tables fieldcatalog
    using 'ITAB1' 'MINBE' ' ' .
    endform. " POPULATE_FIELDCATALOG
    * FORM FILL_FIELDS_OF_FIELDCATALOG *
    * --> FIELDCATALOG *
    * --> P_TABNAME *
    * --> P_FIELDNAME *
    * --> P_KEY *
    * --> P_KEY *
    form fill_fields_of_fieldcatalog tables fieldcatalog
    structure fieldcatalog
    using p_tabname
    p_fieldname
    p_key.
    * p_no_out.
    fieldcatalog-tabname = p_tabname.
    fieldcatalog-fieldname = p_fieldname.
    fieldcatalog-key = p_key.
    fieldcatalog-emphasize = '1234'.
    *fieldcatalog-no_out = p_no_out.
    append fieldcatalog.
    endform. " FILL_FIELDSOFFIELDCATALOG
    * FORM POPULATE_LAYOUT *
    * --> FIELDLAYOUT *
    form populate_layout using fieldlayout type slis_layout_alv.
    fieldlayout-f2code = '&ETA' .
    fieldlayout-zebra = 'X'.
    * FOR THE WINDOW TITLE.
    fieldlayout-window_titlebar = 'ALV with Events'.
    fieldlayout-colwidth_optimize = 'X'.
    fieldlayout-no_vline = ' '.
    *fieldlayout-no_input = 'X'.
    fieldlayout-confirmation_prompt = ''.
    fieldlayout-key_hotspot = 'X'.
    * This removes the column headings if the flag is set to 'X'
    fieldlayout-no_colhead = ' '.
    *fieldlayout-hotspot_fieldname = 'MAKTX'.
    fieldlayout-detail_popup = 'X'.
    * fieldlayout-coltab_fieldname = 'X'.
    endform. " POPULATE_LAYOUT
    * FORM SELECTDATA_AND_SORT *
    form selectdata_and_sort.
    select matnr meins mtart matkl from mara
    into corresponding fields of t_mara
    up to 500 rows .
    select matnr maktx spras from makt
    into corresponding fields of t_makt
    where matnr = t_mara-matnr and
    spras = sy-langu.
    select matnr werks minbe from marc
    into corresponding fields of t_marc
    where matnr = t_mara-matnr.
    append t_marc.
    endselect.
    append t_makt.
    endselect.
    append t_mara.
    endselect.
    perform populate_itab1.
    sort itab1 by matnr.
    endform. " SELECTDATA_AND_SORT
    * FORM MERGE_FIELDCATALOG *
    form merge_fieldcatalog.
    call function 'REUSE_ALV_FIELDCATALOG_MERGE'
    exporting
    i_program_name = syrepid
    i_internal_tabname = 'ITAB1'
    * i_structure_name = 'COLORSTRUCT'
    * I_CLIENT_NEVER_DISPLAY = 'X'
    i_inclname = syrepid
    changing
    ct_fieldcat = fieldcatalog[]
    exceptions
    inconsistent_interface = 1
    program_error = 2
    others = 3.
    endform. " MERGE_FIELDCATALOG
    * IN THIS FUNCTION THE MINIMUM PARAMETERS THAT WE NEED TO PASS IS AS
    * FOLLOWS:-
    * i_callback_program --> CALLING PROGRAM NAME
    * i_structure_name --> STRUCTURE NAME.
    * is_layout --> LAYOUT NAME.
    * it_fieldcat ---> BODY OF THE FIELD CATALOGUE INTERNAL TABLE
    form display_alv_list.
    call function 'REUSE_ALV_LIST_DISPLAY'
    exporting
    * I_INTERFACE_CHECK = ' '
    i_callback_program = syrepid
    * I_CALLBACK_PF_STATUS_SET = ' '
    * I_CALLBACK_USER_COMMAND = ' '
    i_structure_name = 'ITAB1'
    is_layout = fieldlayout
    it_fieldcat = fieldcatalog[]
    * IT_EXCLUDING =
    * IT_SPECIAL_GROUPS =
    * IT_SORT =
    * IT_FILTER =
    * IS_SEL_HIDE =
    * I_DEFAULT = 'X'
    * THE FOLLOWING PARAMETER IS SET AS 'A' INORDER TO DISPLAY THE STANDARD
    * TOOL BAR
    i_save = 'A'
    * IS_VARIANT = ' '
    it_events = eventstab[]
    * IT_EVENT_EXIT =
    * IS_PRINT =
    * I_SCREEN_START_COLUMN = 0
    * I_SCREEN_START_LINE = 0
    * I_SCREEN_END_COLUMN = 0
    * I_SCREEN_END_LINE = 0
    * IMPORTING
    * E_EXIT_CAUSED_BY_CALLER =
    * ES_EXIT_CAUSED_BY_USER =
    tables
    t_outtab = itab1
    exceptions
    program_error = 1
    others = 2.
    endform. " DISPLAY_ALV_LIST
    *& Form POPULATE_ITAB1
    * text
    * --> p1 text
    * <-- p2 text
    form populate_itab1.
    loop at t_mara.
    loop at t_makt where matnr = t_mara-matnr.
    loop at t_marc where matnr = t_mara-matnr.
    move-corresponding t_mara to itab1.
    move-corresponding t_makt to itab1.
    move-corresponding t_marc to itab1.
    append itab1.
    endloop.
    endloop.
    endloop.
    endform. " POPULATE_ITAB1
    *& Form FILL_EVENTSTAB
    * text
    * -->P_EVENTSTAB text *
    form fill_eventstab tables p_eventstab structure eventstab.
    * WHEN THE FOLLOWING FUNCTION IS CALLED THE SYSTEM POPULATES THE
    * INTERNAL TABLE EVENTSTAB WITH A LIST OF EVENTS NAME.
    * AS SHOWN BELOW WHEN USING I_LIST_TYPE = 0 THE FUNCTION RETURNS 14
    * EVENTS NAME.
    call function 'REUSE_ALV_EVENTS_GET'
    exporting
    i_list_type = 0
    importing
    et_events = p_eventstab[]
    exceptions
    list_type_wrong = 1
    others = 2.
    * BY CALLING THE ABOVE FUNCTION WE FIRST POPULATE THE EVENTSTAB WITH
    * THE PREDEFINED EVENTS AND THEN WE MOVE THE FORM NAME AS SHOWN BELOW.
    * WE ASSIGN A FORM NAME TO THE EVENT AS REQUIRED BY THE USER.
    * FORM NAME CAN BE ANYTHING.THE PERFORM STATEMENT FOR THIS FORM
    * IS DYNAMICALY CALLED.
    read table p_eventstab with key name = slis_ev_top_of_page.
    if sy-subrc = 0 .
    move 'TOP_OF_PAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_top_of_coverpage.
    if sy-subrc = 0 .
    move 'TOP_OF_COVERPAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_end_of_coverpage .
    if sy-subrc = 0 .
    move 'END_OF_COVERPAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_foreign_top_of_page.
    if sy-subrc = 0 .
    move 'FOREIGN_TOP_OF_PAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_foreign_end_of_page.
    if sy-subrc = 0 .
    move 'FOREIGN_END_OF_PAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_list_modify.
    if sy-subrc = 0 .
    move 'LIST_MODIFY' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_top_of_list.
    if sy-subrc = 0 .
    move 'TOP_OF_LIST' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_end_of_page.
    if sy-subrc = 0 .
    move 'END_OF_PAGE' to p_eventstab-form.
    append p_eventstab.
    endif.
    read table p_eventstab with key name = slis_ev_end_of_list .
    if sy-subrc = 0 .
    move 'END_OF_LIST' to p_eventstab-form.
    append p_eventstab.
    endif.
    endform. " FILL_EVENTSTAB
    *& Form FILL_HEADINGTABLE
    * text
    * -->P_HEADING text *
    form fill_headingtable tables p_heading structure heading
    using tablename.
    case tablename.
    when 'HEADING'.
    p_heading-typ = 'H'.
    concatenate
    ' REPORT NAME:-' syrepid
    ' ABB Industry Pte Ltd' into p_heading-info.
    append p_heading.
    write sy-datum using edit mask '__/__/____' to sydatum.
    concatenate
    ' DATE:-' sydatum ' USER: ' sy-uname 'PAGE NO:' sypagno
    into p_heading-info.
    append p_heading.
    when 'HEADING1'.
    p_heading-typ = 'H'.
    p_heading-info = 'TOP-OF-COVER-PAGE'.
    append p_heading.
    when 'HEADING2'.
    p_heading-typ = 'H'.
    p_heading-info = 'END-OF-COVER-PAGE'.
    append p_heading.
    when 'HEADING3'.
    p_heading-typ = 'H'.
    p_heading-info = 'FOREIGN-TOP-OF-PAGE'.
    append p_heading.
    when 'HEADING4'.
    p_heading-typ = 'H'.
    p_heading-info = 'FOREIGN-END-OF-PAGE'.
    append p_heading.
    * WHEN 'HEADING5'.
    * P_HEADING-TYP = 'H'.
    * P_HEADING-INFO = 'LIST-MODIFY'.
    * APPEND P_HEADING.
    when 'HEADING6'.
    p_heading-typ = 'H'.
    p_heading-info = 'END-OF-PAGE'.
    append p_heading.
    when 'HEADING7'.
    p_heading-typ = 'H'.
    p_heading-info = 'END-OF-LIST'.
    append p_heading.
    when 'HEADING8'.
    p_heading-typ = 'H'.
    p_heading-info = 'TOP-OF-LIST'.
    append p_heading.
    endcase.
    endform. " FILL_HEADINGTABLE
    * FORM TOP_OF_PAGE *
    form top_of_page.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading[]
    exceptions
    others = 1.
    endform.
    *& Form FILL_COLORSTRUCT
    * text
    * -->P_COLORSTRUCT text *
    form fill_colorstruct using p_colorstruct type slis_coltypes .
    p_colorstruct-heacolfir-col = 6.
    p_colorstruct-heacolfir-int = 1.
    p_colorstruct-heacolfir-inv = 1.
    endform. " FILL_COLORSTRUCT
    * FORM TOP_OF_COVERPAGE *
    form top_of_coverpage.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading1[]
    exceptions
    others = 1.
    endform.
    * FORM END_OF_COVERPAGE *
    form end_of_coverpage.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading2[]
    exceptions
    others = 1.
    endform.
    * FORM FOREIGN_TOP_OF_PAGE *
    form foreign_top_of_page.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading3[]
    exceptions
    others = 1.
    endform.
    * FORM FOREIGN_END_OF_PAGE *
    form foreign_end_of_page.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading4[]
    exceptions
    others = 1.
    endform.
    * FORM LIST_MODIFY *
    *FORM LIST_MODIFY.
    * CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    * EXPORTING
    * IT_LIST_COMMENTARY = HEADING5[]
    * EXCEPTIONS
    * OTHERS = 1.
    *ENDFORM.
    * FORM END_OF_PAGE *
    form end_of_page.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading6[]
    exceptions
    others = 1.
    endform.
    * FORM END_OF_LIST *
    form end_of_list.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading7[]
    exceptions
    others = 1.
    endform.
    * FORM TOP_OF_LIST *
    form top_of_list.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = heading8[]
    exceptions
    others = 1.
    endform.
    *--- End of Program
    Regards,
    Raghav

  • WWI report - getting generated report fields values

    Anyone know which function module decomposes the fields values of a WWI report in preparation for printing. These values are stored in an internal table and  used by  print FM CVEA_RSDOS_CREATE_BY_EHS

    Form L_VARIANTS_PRINT or L_REPORTS_PRINT in FG C1G2

  • Error while generating earlywatch report.

    Hi Guru's
                  I am having problem in generating earlywatch report.
    In solution manager i find these errors:-
    The data for this session is overdue. Data has not yet been transferred from the associated satellite system.
    Go to the Service Data Control Center (transaction SDCCN) in the satellite system and check why the data has not been sent.
    Typical sources of errors are:
    The RFC connection for the SAP Solution Manager system is not working.
    The 'Task Processor' background job, which collects the session data, has been changed.
    Problems arose while data was being collected (see the detail log for the task that collects the session data).
    A periodic 'SDCC Maintenance Package' task has not been scheduled to check whether your SAP Solution Manager system requests session data.
    Session number: 1000000002286
    In source system tcode sdccn when i try to run Refresh sessions i get following error:-
    31.05.2010     12:24:34      > Task rescheduled for 20100531125533 ( attempt 0001 )     /BDL/SAPLBDL11     0
    31.05.2010     12:24:34     Refresh of session overview failed from destination SM_SMPCLNT100_BACK     /BDL/SAPLBDL11     0
    31.05.2010     12:24:34      > Sessions cannot be refreshed from destination SM_SMPCLNT100_BACK ( SMP , 0020275310 )     /BDL/SAPLBDL11     0
    31.05.2010     12:24:34      > You cannot log on (CUA system assignment missing)     /BDL/SAPLBDL11     0
    31.05.2010     12:24:34      > error reading function module interface DSWP_API_SESSIONLIST_GET from  SM_SMPCLNT100_BACK     /BDL/SAPLBDL11     0
    31.05.2010     12:23:58     Refresh of session overview started from destination SM_SMPCLNT100_BACK     /BDL/SAPLBDL11     0
    I have checked with the rfc's they are working fine.
    Please help.
    Regards
    Akif

    Hi Akif,
    Could you please try deleting the RFC Connection and entering it again in the Managed system.
    1) SDCCN
    2) Goto-> Settings-> Task specific.
    3) RFC Destinations-> Settings click on change mode.
    4) Delete the RFC and then add the RFC Connection again and mark as Master and active.
    Then check it, hope it solves the issue.
    Thanks,
    Raghavendra.

  • Running ALV REPORT in background

    Hi Experts ,
    Before writing this query , i went through all the threads related to ALV report in background . But found none of them satisfactory .
    I am running a alv report in background . I am not using OO ALV . I am using " REUSE_ALV_GRID_DISPLAY" .
    This report is schedules through a background job . It is creating a spool .
    But I am getting a error message : *" FRONT END NOT AVIALABLE "*
    What i have found so far :
    I am planning to use sy-batch variable to check whether it is running in background or not , Then I am planning to read  the spool and if the spool is created , i will display the ALV .
    Is this the correct approach or some other way to generate the ALV REPORT .
    Also by this way will the error message *" FRONT END NOT AVIALABLE "* go .
    Please advice .
    Regards,
    Abhishek

    Hello Everyone ,
    Thanks for your replies .
    I have the spool generated . But it is waiting status .
    The issue here is how I am going to say that the spool is in " Completed " status . Because only after when my spool is in completed status , I want to display the status .
    Is there way for this ?
    Regards ,
    Abhishek

  • Report in background

    Hi Experts,
    how can i run report in background with out going sm35,
    Pls reply with sample code ,
    points will be rewarded.
    Thanks,
    Leena.

    Hi,
    Go through this hope u can understand might be u dont want all the programe what i have given , just try to analyze whether is any points r useful in this .
    When you generate the BDC (Batch Data Communication options define the processing mode for a batch input session) program with SHDB, you can remove a lot of unwanted fields by copying this customize abap include program.  It allows you to execute the BDC program immediately without filling up those SAP generate fields.  To run background, just run it as a background job.
    Execute BDC immediately by replacing the include BDCRECX1
    ***INCLUDE ZBDCRECX1.
    When you generate the program using SHDB, you can replace it
    with this if you want to execute it immediately without having
    to process it using SM35.
    During testing you can used the original include.
    For example,
    include zbdcrecx1.   "After test
    include bdcrecx.     "Before test
    Declare your internal table as RECORD
    for programs doing a data transfer by creating a batch-input session
    and
    for programs doing a data transfer by CALL TRANSACTION USING
    *SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS SESSION RADIOBUTTON GROUP CTU.  "create session
    SELECTION-SCREEN COMMENT 3(20) TEXT-S07 FOR FIELD SESSION.
    selection-screen position 45.
    PARAMETERS CTU RADIOBUTTON GROUP CTU DEFAULT 'X'. "call transaction
    SELECTION-SCREEN COMMENT 48(20) TEXT-S08 FOR FIELD CTU.
    *SELECTION-SCREEN END OF LINE.
    PARAMETERS: SESSION NO-DISPLAY,
                CTU     NO-DISPLAY DEFAULT 'X'.
    *SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 3(20) TEXT-S01 FOR FIELD GROUP.
    selection-screen position 25.
    PARAMETERS GROUP(12).                      "group name of session
    SELECTION-SCREEN COMMENT 48(20) TEXT-S05 FOR FIELD CTUMODE.
    selection-screen position 70.
    PARAMETERS CTUMODE LIKE CTU_PARAMS-DISMODE DEFAULT 'N'.
                                         "A: show all dynpros
                                         "E: show dynpro on error only
                                         "N: do not display dynpro
    *SELECTION-SCREEN END OF LINE.
    PARAMETERS: GROUP(12) NO-DISPLAY,
                CTUMODE   NO-DISPLAY DEFAULT 'N'.
    *SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 3(20) TEXT-S02 FOR FIELD USER.
    selection-screen position 25.
    PARAMETERS: USER(12) DEFAULT SY-UNAME.    "user for session in batch
    SELECTION-SCREEN COMMENT 48(20) TEXT-S06 FOR FIELD CUPDATE.
    selection-screen position 70.
    PARAMETERS CUPDATE LIKE CTU_PARAMS-UPDMODE DEFAULT 'L'.
                                         "S: synchronously
                                         "A: asynchronously
                                         "L: local
    *SELECTION-SCREEN END OF LINE.
    PARAMETERS: USER(12) NO-DISPLAY DEFAULT SY-UNAME,
                CUPDATE LIKE CTU_PARAMS-UPDMODE DEFAULT 'L' NO-DISPLAY.
    *SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 3(20) TEXT-S03 FOR FIELD KEEP.
    selection-screen position 25.
    PARAMETERS: KEEP AS CHECKBOX.       "' ' = delete session if finished
                                         "'X' = keep   session if finished
    SELECTION-SCREEN COMMENT 48(20) TEXT-S09 FOR FIELD E_GROUP.
    selection-screen position 70.
    parameters E_GROUP(12).             "group name of error-session
    *SELECTION-SCREEN END OF LINE.
    PARAMETERS: KEEP        NO-DISPLAY,
                E_GROUP(12) NO-DISPLAY.
    *SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 3(20) TEXT-S04 FOR FIELD HOLDDATE.
    selection-screen position 25.
    PARAMETERS: HOLDDATE LIKE SY-DATUM.
    SELECTION-SCREEN COMMENT 51(17) TEXT-S02 FOR FIELD E_USER.
    selection-screen position 70.
    PARAMETERS: E_USER(12) DEFAULT SY-UNAME.    "user for error-session
    *SELECTION-SCREEN END OF LINE.
    PARAMETERS: HOLDDATE LIKE SY-DATUM NO-DISPLAY,
               E_USER(12) DEFAULT SY-UNAME NO-DISPLAY.
    *SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 51(17) TEXT-S03 FOR FIELD E_KEEP.
    selection-screen position 70.
    PARAMETERS: E_KEEP AS CHECKBOX.     "' ' = delete session if finished
                                         "'X' = keep   session if finished
    *SELECTION-SCREEN END OF LINE.
    PARAMETERS: E_KEEP NO-DISPLAY.
    *SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 51(17) TEXT-S04 FOR FIELD E_HDATE.
    selection-screen position 70.
    PARAMETERS: E_HDATE LIKE SY-DATUM.
    *SELECTION-SCREEN END OF LINE.
    *SELECTION-SCREEN SKIP.
    PARAMETERS: E_HDATE LIKE SY-DATUM NO-DISPLAY.
    *SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(33) TEXT-S10 FOR FIELD NODATA.
    PARAMETERS: NODATA DEFAULT '/' LOWER CASE.          "nodata
    *SELECTION-SCREEN END OF LINE.
    PARAMETERS: NODATA DEFAULT '/' LOWER CASE NO-DISPLAY.
    *SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(33) FOR FIELD SMALLLOG.
    PARAMETERS: SMALLLOG as checkbox.  "' ' = log all transactions
                                        "'X' = no transaction logging
    *SELECTION-SCREEN END OF LINE.
    PARAMETERS: SMALLLOG NO-DISPLAY.
      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.
          error session opened (' ' or 'X')
    DATA:   E_GROUP_OPENED.
          message texts
    TABLES: T100.
      at selection screen                                                *
    AT SELECTION-SCREEN.
    group and user must be filled for create session
      IF SESSION = 'X' AND
         GROUP = SPACE OR USER = SPACE.
        MESSAGE E613(MS).
      ENDIF.
      open dataset                                                       *
    FORM OPEN_DATASET USING P_DATASET.
      OPEN DATASET P_DATASET IN TEXT MODE.
      IF SY-SUBRC <> 0.
        WRITE: / TEXT-E00, SY-SUBRC.
        STOP.
      ENDIF.
    ENDFORM.
      close dataset                                                      *
    FORM CLOSE_DATASET USING P_DATASET.
      CLOSE DATASET P_DATASET.
    ENDFORM.
      create batchinput session                                          *
      (not for call transaction using...)                                *
    FORM OPEN_GROUP.
      IF SESSION = 'X'.
        SKIP.
        WRITE: /(20) 'Create group'(I01), GROUP.
        SKIP.
      open batchinput group
        CALL FUNCTION 'BDC_OPEN_GROUP'
             EXPORTING  CLIENT   = SY-MANDT
                        GROUP    = GROUP
                        USER     = USER
                        KEEP     = KEEP
                        HOLDDATE = HOLDDATE.
        WRITE: /(30) 'BDC_OPEN_GROUP'(I02),
                (12) 'returncode:'(I05),
                     SY-SUBRC.
      ENDIF.
    ENDFORM.
      end batchinput session                                             *
      (call transaction using...: error session)                         *
    FORM CLOSE_GROUP.
      IF SESSION = 'X'.
      close batchinput group
        CALL FUNCTION 'BDC_CLOSE_GROUP'.
        WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),
                (12) 'returncode:'(I05),
                     SY-SUBRC.
      ELSE.
        IF E_GROUP_OPENED = 'X'.
          CALL FUNCTION 'BDC_CLOSE_GROUP'.
          WRITE: /.
          WRITE: /(30) 'Fehlermappe wurde erzeugt'(I06).
        ENDIF.
      ENDIF.
    ENDFORM.
           Start new transaction according to parameters                 *
    FORM BDC_TRANSACTION USING TCODE.
      DATA: L_MSTRING(480).
      DATA: L_SUBRC LIKE SY-SUBRC.
    batch input session
      IF SESSION = 'X'.
        CALL FUNCTION 'BDC_INSERT'
             EXPORTING TCODE     = TCODE
             TABLES    DYNPROTAB = BDCDATA.
        IF SMALLLOG <> 'X'.
          WRITE: / 'BDC_INSERT'(I03),
                   TCODE,
                   'returncode:'(I05),
                   SY-SUBRC,
                   'RECORD:',
                   SY-INDEX.
        ENDIF.
    call transaction using
      ELSE.
        REFRESH MESSTAB.
        CALL TRANSACTION TCODE USING BDCDATA
                         MODE   CTUMODE
                         UPDATE CUPDATE
                         MESSAGES INTO MESSTAB.
        L_SUBRC = SY-SUBRC.
        IF SMALLLOG <> 'X'.
         WRITE: / 'CALL_TRANSACTION',
                  TCODE,
                  'returncode:'(I05),
                  L_SUBRC,
                  'RECORD:',
                  SY-INDEX.
          IF SY-SUBRC = 0.
             FORMAT COLOR OFF.
             WRITE:/ 'Successfully Process ', MESSTAB, RECORD.
          ELSE.
             FORMAT COLOR COL_NEGATIVE.
             WRITE:/ 'Failed Process ', MESSTAB, RECORD.
          ENDIF.
          LOOP AT MESSTAB.
            SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB-MSGSPRA
                                      AND   ARBGB = MESSTAB-MSGID
                                      AND   MSGNR = MESSTAB-MSGNR.
            IF SY-SUBRC = 0.
              L_MSTRING = T100-TEXT.
              IF L_MSTRING CS '&1'.
                REPLACE '&1' WITH MESSTAB-MSGV1 INTO L_MSTRING.
                REPLACE '&2' WITH MESSTAB-MSGV2 INTO L_MSTRING.
                REPLACE '&3' WITH MESSTAB-MSGV3 INTO L_MSTRING.
                REPLACE '&4' WITH MESSTAB-MSGV4 INTO L_MSTRING.
              ELSE.
                REPLACE '&' WITH MESSTAB-MSGV1 INTO L_MSTRING.
                REPLACE '&' WITH MESSTAB-MSGV2 INTO L_MSTRING.
                REPLACE '&' WITH MESSTAB-MSGV3 INTO L_MSTRING.
                REPLACE '&' WITH MESSTAB-MSGV4 INTO L_MSTRING.
              ENDIF.
              CONDENSE L_MSTRING.
              WRITE: / MESSTAB-MSGTYP, L_MSTRING(250).
            ELSE.
              WRITE: / MESSTAB.
            ENDIF.
          ENDLOOP.
          SKIP.
        ENDIF.
    Erzeugen fehlermappe ************************************************
        IF L_SUBRC <> 0 AND E_GROUP <> SPACE.
          IF E_GROUP_OPENED = ' '.
            CALL FUNCTION 'BDC_OPEN_GROUP'
                 EXPORTING  CLIENT   = SY-MANDT
                            GROUP    = E_GROUP
                            USER     = E_USER
                            KEEP     = E_KEEP
                            HOLDDATE = E_HDATE.
             E_GROUP_OPENED = 'X'.
          ENDIF.
          CALL FUNCTION 'BDC_INSERT'
               EXPORTING TCODE     = TCODE
               TABLES    DYNPROTAB = BDCDATA.
        ENDIF.
      ENDIF.
      REFRESH BDCDATA.
    ENDFORM.
           Start new screen                                              *
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
      CLEAR BDCDATA.
      BDCDATA-PROGRAM  = PROGRAM.
      BDCDATA-DYNPRO   = DYNPRO.
      BDCDATA-DYNBEGIN = 'X'.
      APPEND BDCDATA.
    ENDFORM.
           Insert field                                                  *
    FORM BDC_FIELD USING FNAM FVAL.
      IF FVAL <> NODATA.
        CLEAR BDCDATA.
        BDCDATA-FNAM = FNAM.
        BDCDATA-FVAL = FVAL.
        APPEND BDCDATA.
      ENDIF.
    ENDFORM. 
    if u think i havent understand properly just execuse me.
    Reward points if  helpful.
    Thanks
    Naveen khan
    Message was edited by:
            Pattan Naveen

  • Parallel processing in background using Job scheduling...

    (Note: Please understand my question completely before redirecting me to parallel processing links in sdn. I hve gone through most of them.)
    Hi ABAP Gurus,
    I have read a bit till now about parallel processing. But I have a doubt.
    I am working on data transfer of around 5 million accounting records from lagacy to R/3 using Batch input recording.
    Now if these all records reside in one flat file and if I then process that flat file in my batch input program, I guess it will take days to do it. So my boss suggested
    to use parallel processing in SAP.
    Now, from the SDN threads, it seems that we have to create a Remote enabled function module for it and stuf....
    But I have a different idea. I thought to dividE these 5 million records in 10 flat files instead of just one and then to run the Custom BDC program with 10 instances which will process 10 flat files in background using Job scheduling.
    Can this be also called parallel processing ?
    Please let me know if this sounds wise to you guys...
    Regards,
    Tushar.

    Thanks for your reply...
    So what do you suggest how can I use Parallel procesisng for transferring 5 million records which is present in one flat file using custom BDC.?
    I am posting my custom BDC code for million record transfer as follows (This code is for creation of material master using BDC.)
    report ZMMI_MATERIAL_MASTER_TEST
          no standard page heading line-size 255.
    include bdcrecx1.
    parameters: dataset(132) lower case default
                                 '/tmp/testmatfile.txt'.
       DO NOT CHANGE - the generated data section - DO NOT CHANGE    ***
      If it is nessesary to change the data section use the rules:
      1.) Each definition of a field exists of two lines
      2.) The first line shows exactly the comment
          '* data element: ' followed with the data element
          which describes the field.
          If you don't have a data element use the
          comment without a data element name
      3.) The second line shows the fieldname of the
          structure, the fieldname must consist of
          a fieldname and optional the character '_' and
          three numbers and the field length in brackets
      4.) Each field must be type C.
    Generated data section with specific formatting - DO NOT CHANGE  ***
    data: begin of record,
    data element: MATNR
           MATNR_001(018),
    data element: MBRSH
           MBRSH_002(001),
    data element: MTART
           MTART_003(004),
    data element: XFELD
           KZSEL_01_004(001),
    data element: MAKTX
           MAKTX_005(040),
    data element: MEINS
           MEINS_006(003),
    data element: MATKL
           MATKL_007(009),
    data element: BISMT
           BISMT_008(018),
    data element: EXTWG
           EXTWG_009(018),
    data element: SPART
           SPART_010(002),
    data element: PRODH_D
           PRDHA_011(018),
    data element: MTPOS_MARA
           MTPOS_MARA_012(004),
         end of record.
    data: lw_record(200).
    End generated data section ***
    data: begin of t_data occurs 0,
          matnr(18),
          mbrsh(1),
          mtart(4),
          maktx(40),
          meins(3),
          matkl(9),
          bismt(18),
          extwg(18),
          spart(2),
          prdha(18),
          MTPOS_MARA(4),
        end of t_data.
    start-of-selection.
    perform open_dataset using dataset.
    perform open_group.
    do.
    *read dataset dataset into record.
    read dataset dataset into lw_record.
    if sy-subrc eq 0.
    clear t_data.
    split lw_record
       at ','
    into t_data-matnr
          t_data-mbrsh
          t_data-mtart
          t_data-maktx
          t_data-meins
          t_data-matkl
          t_data-bismt
          t_data-extwg
          t_data-spart
          t_data-prdha
          t_data-MTPOS_MARA.
    append t_data.
    else.
    exit.
    endif.
    enddo.
    loop at t_data.
    *if sy-subrc <> 0. exit. endif.
    perform bdc_dynpro      using 'SAPLMGMM' '0060'.
    perform bdc_field       using 'BDC_CURSOR'
                                 'RMMG1-MATNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                 '=AUSW'.
    perform bdc_field       using 'RMMG1-MATNR'
                                 t_data-MATNR.
    perform bdc_field       using 'RMMG1-MBRSH'
                                 t_data-MBRSH.
    perform bdc_field       using 'RMMG1-MTART'
                                 t_data-MTART.
    perform bdc_dynpro      using 'SAPLMGMM' '0070'.
    perform bdc_field       using 'BDC_CURSOR'
                                 'MSICHTAUSW-DYTXT(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                 '=ENTR'.
    perform bdc_field       using 'MSICHTAUSW-KZSEL(01)'
                                 'X'.
    perform bdc_dynpro      using 'SAPLMGMM' '4004'.
    perform bdc_field       using 'BDC_OKCODE'
                                 '/00'.
    perform bdc_field       using 'MAKT-MAKTX'
                                 t_data-MAKTX.
    perform bdc_field       using 'BDC_CURSOR'
                                 'MARA-PRDHA'.
    perform bdc_field       using 'MARA-MEINS'
                                 t_data-MEINS.
    perform bdc_field       using 'MARA-MATKL'
                                 t_data-MATKL.
    perform bdc_field       using 'MARA-BISMT'
                                 t_data-BISMT.
    perform bdc_field       using 'MARA-EXTWG'
                                 t_data-EXTWG.
    perform bdc_field       using 'MARA-SPART'
                                 t_data-SPART.
    perform bdc_field       using 'MARA-PRDHA'
                                 t_data-PRDHA.
    perform bdc_field       using 'MARA-MTPOS_MARA'
                                 t_data-MTPOS_MARA.
    perform bdc_dynpro      using 'SAPLSPO1' '0300'.
    perform bdc_field       using 'BDC_OKCODE'
                                 '=YES'.
    perform bdc_transaction using 'MM01'.
    endloop.
    *enddo.
    perform close_group.
    perform close_dataset using dataset.

  • Creating simple WWI report

    Hello All,
    Can someone kindly write down very basic  steps by which I can create a simple WWI report by extracting some field values from Property tree of specification.
    Thanks in advance,
    Sachin

    Hello Sachin
    to my knowlegde WWI is integrated in most of the EH&S submodules. The SAP standard can be used to generate a high number of report symbols which are connected to the different submodules and the SAP EH&S set up can be used to generate if necessary very easily customer specific symbols.
    Further on WWI as a "printing" technique etc. has grown a lot in the recent years. Here I can give only a small summary:
    With the recent releases of SAP EH&S you can use e.g. a "report template" in a "report template" which is a good starting point in my opinion to handle better the WWI topic. Further on SAP has increased the possibilites in using so called "place holder phrases". One is linked to a "old" relase (related majnly to DG management topics) and a new one which has been prepared recently.
    It is a good idea to do a small inquiry in SAP marketplace to find the corrresponding OSS.
    As Recipe Management uses in the background to my knowlegde the EH&S indicates that you can use WWI to derive data using WWI from Recipe Management too (Sorry: I have too no experience here).
    If you perform an inquiry in SDN you will find a high number of entries regarding "Recipe Management" and in some of them I have seen that similar questions have been asked and answered (how to derive data using WWI). Now coming back to what Niraj said:
    If you take a look in cg54 and cg50 you will see a number of "report applications".
    Therefore the WWI technique to my knowlegde can now be used in really any EH&S submodule you can think about.
    WWI is normally used to generate MSDS, SOP, Lables etc. but can be used ot my knowlege in EH&S IH and OH as well to "print" data in a report.
    MSDS and Lables are "special"  from my point of view because of SAP history. The reason is simple. The generation of especially a MSDS or a lable will drive most of your EH&S acitvities in most companyies. Further on SOPs (Standad operating measuress) are used often and in the past in europe tremcards. The generation of a MSDS or a SOP was one of the first major topics which SAP solved with EH&S.  Later on (i believe with SAp enterprise Extenstion 2.0) GLM has been introduced
    What is really important is to understand the link between the "substance generation variant" the "report template" and the "report application".
    Personally I would suggest that you try to "print" e.g. an identifier as the first step to get expericene in using WWI. From the "technical point of view" such a report layout and generation variant etc. can be created within not more than 2 hours if you have a basic idea of WWI.
    With best regards
    C.B.
    Shipped with EH&S there is are some "default WWI" layout (which can be found in the corresponding folder in the WWI on your client).
    Edited by: Christoph Bergemann on Jun 3, 2010 9:38 AM
    Edited by: Christoph Bergemann on Jun 3, 2010 9:40 AM
    Edited by: Christoph Bergemann on Jun 3, 2010 9:40 AM
    Edited by: Christoph Bergemann on Jun 3, 2010 9:41 AM

  • CNTL_ERROR while running a report in background mode

    Hi,
    I am running a report in background on daily basis. I am using cl_gui_custom_container class here and calling the constructor of this class. I am getting a CNTL_ERROR exception at this point. But if i run the same report directly, it is not throwing any exception. The problem is if i schedule it to background. I am not able to sort it out. So please if any body knows, answer this.
    Thanks,
    Kumar

    Hi Nithin,
    I was facing the similar issue in a custom report program. I did apply the logic that you'd mentioned.
    I've implemented the code as below.
    IF  gr_container IS INITIAL.
    *** Check whether the program is run in batch or foreground
        IF CL_GUI_ALV_GRID=>OFFLINE( ) IS INITIAL.
    * Run in foreground
          CREATE OBJECT gr_container
            EXPORTING
              container_name = 'WORK_AREA_CONTAINER'.
          CREATE OBJECT lv_grid
            EXPORTING I_PARENT = gr_container.
        ELSE.
    * Run in background
          CREATE OBJECT lv_grid
            EXPORTING
              I_PARENT = gr_dockcontainer.
          ENDIF.
          ENDIF.
    i_parent_control = gr_dockcontainer.
            CREATE OBJECT m_base_splitter
            EXPORTING
              parent            = i_parent_control
              ROWS              = 1
              columns           = 2
            EXCEPTIONS
              cntl_error        = 1
              cntl_system_error = 2
              OTHERS            = 3.
            CALL METHOD m_base_splitter->get_container
            EXPORTING
              row       = 1
              column    = 2
              RECEIVING
              container = m_splitter_right_part
            EXCEPTIONS
              OTHERS    = 1.
    After I've implemented the above code I'm getting the following error in the batch job:
    Category               ABAP Programming Error
    Runtime Errors         OBJECTS_OBJREF_NOT_ASSIGNED
    Except.                CX_SY_REF_IS_INITIAL
    You attempted to use a 'NULL' object reference (points to 'nothing')
    access a component (variable: "M_BASE_SPLITTER").
    An object reference must point to an object (an instance of a class)
    before it can be used to access components.
    Either the reference was never set or it was set to 'NULL' using the
    CLEAR statement.
    Would you be able to help me in the above issue?

  • Snap ids to generate performance report

    Hi,
    I have a basic idea on statspack, and implementing this first time, looking for your help to generate statspack report.
    scenario is this :-
    we have to do a performance testing during bulk loading which happens daily at night for 1 hour.
    i have sheduled a job to generate snaps on every interval of 15 min say :-
    NAME SNAP_ID Date/Time
    oracle 4 13.11.2006:08:45:00
    oracle 1 13.11.2006:08:00:00
    oracle 2 13.11.2006:08:15:00
    oracle 3 13.11.2006:08:30:00
    suppose at 08:00 there is no loading so i am considering this as a baseline snap ,
    so, which snap ids i have to include to generate various performance report (like sp_1_2,sp_1_3,sp_14 etc) .
    Asif

    Snap is a snap. A snapshot of database status at a given point in time. Statspack was designed to help DBA's diagnose the performance problems of a database during a particular interval of time by recording what all went on with the database.
    If you are trying to analyze the database using only one snap, you will never get the correct picture.
    Lets say in your case, you generate the report s_1 only which is before load. How will you diagnose the problem that happened after this snap?

Maybe you are looking for