ALV GRID Display function module giving Run time error

Hello Experts,
I have ALV report, In which I am using ALV grid dispaly FM to display the report.
But when my out table which I am passing to FM is empty that time ALV grid display shows blank ALV report. but when out table is not empty that time  I am getting the Run time error, which shows message "Field symbol has not yet been assigned".
Can any one please help me out in this.
Thanks

TYPES: BEGIN OF type_out,
        col00    TYPE   ytlet-rzzyyproduct,
        col01    TYPE   ytlet-kslvt,
        col02    TYPE   ytlet-kslvt,
        col03    TYPE   ytlet-kslvt,
        col04    TYPE   ytlet-kslvt,
        col05    TYPE   ytlet-kslvt,
        col06    TYPE   ytlet-kslvt,
        col07    TYPE   ytlet-kslvt,
        col08    TYPE   ytlet-kslvt,
        col09    TYPE   ytlet-kslvt,
        col10    TYPE   ytlet-kslvt,
        col11    TYPE   ytlet-kslvt,
        col12    TYPE   ytlet-kslvt,
        col13    TYPE   ytlet-kslvt,
        col14    TYPE   ytlet-kslvt,
        col15    TYPE   ytlet-kslvt,
        col16    TYPE   ytlet-kslvt,
        col17    TYPE   ytlet-kslvt,
        col18    TYPE   ytlet-kslvt,
        col19    TYPE   ytlet-kslvt,
        col20    TYPE   ytlet-kslvt,
        col21    TYPE   ytlet-kslvt,
        col22    TYPE   ytlet-kslvt,
        col23    TYPE   ytlet-kslvt,
        col24    TYPE   ytlet-kslvt,
        col25    TYPE   ytlet-kslvt,
        col26    TYPE   ytlet-kslvt,
        col27    TYPE   ytlet-kslvt,
        col28    TYPE   ytlet-kslvt,
        col29    TYPE   ytlet-kslvt,
        col30    TYPE   ytlet-kslvt,
        col31    TYPE   ytlet-kslvt,
        col32    TYPE   ytlet-kslvt,
        col33    TYPE   ytlet-kslvt,
        col34    TYPE   ytlet-kslvt,
        col35    TYPE   ytlet-kslvt,
        col36    TYPE   ytlet-kslvt,
        col37    TYPE   ytlet-kslvt,
        col38    TYPE   ytlet-kslvt,
        col39    TYPE   ytlet-kslvt,
        col40    TYPE   ytlet-kslvt,
        col41    TYPE   ytlet-kslvt,
        col42    TYPE   ytlet-kslvt,
        col43    TYPE   ytlet-kslvt,
        col44    TYPE   ytlet-kslvt,
      END OF type_out.
DATA: t_fieldcat   TYPE slis_t_fieldcat_alv,   "Field catelog table
      w_fieldcat   TYPE slis_fieldcat_alv,     "Field catelog Work area
      w_layout     TYPE slis_layout_alv,       "Layout structure
      w_event      TYPE slis_alv_event,        "Event structure
      t_event      TYPE slis_t_event,          "Event structure
      t_sort       TYPE STANDARD TABLE OF slis_sortinfo_alv,
      t_callback_main_user_command  TYPE  slis_formname,
      v_selfield TYPE slis_selfield.
FIELD-SYMBOLS: <ksl>.
FORM DISPLAY_REPORT .
*Prepare Field Catlog
  PERFORM  creat_field_catlog.
*Set layout
  PERFORM  set_layout.
*Get Event
  PERFORM get_event.
*Display Report
  PERFORM display_alv_report.
ENDFORM.                    " DISPLAY_REPORT
FORM creat_field_catlog .
  PERFORM add_fields_catlog USING:
       '01'    'RZZYYPRODUCT'     'IT_OUT'    'MPMs' ' ',
       '02'    'KSLVT'     'IT_OUT'    'License Fee' ' ',
       '03'    'KSLVT'     'IT_OUT'    'Ad Sales' ' ',
       '04'    'KSLVT'     'IT_OUT'    'Promo Fees' ' ',
       '05'    'KSLVT'     'IT_OUT'    'Total Ad Sales/Promo' ' ',
       '06'    'KSLVT'     'IT_OUT'    'Other' ' ',
       '07'    'KSLVT'     'IT_OUT'    'Total' ' ',
       '08'    'KSLVT'     'IT_OUT'    'Dom Station' ' ',
       '09'    'KSLVT'     'IT_OUT'    'Basic Cable/Free VOD' ' ',
       '10'    'KSLVT'     'IT_OUT'    'License Fee' ' ',
       '11'    'KSLVT'     'IT_OUT'    'Ad Sales (incl Internet)' ' ',
       '12'    'KSLVT'     'IT_OUT'    'Promo Fees' ' ',
       '13'    'KSLVT'     'IT_OUT'    'Ad Sales & Promo Fees' ' ',
       '14'    'KSLVT'     'IT_OUT'    'Foreign' ' ',
       '15'    'KSLVT'     'IT_OUT'    'Pay TV' ' ',
       '16'    'KSLVT'     'IT_OUT'    'Other' ' ',
       '17'    'KSLVT'     'IT_OUT'    'Total' ' ',
       '18'    'KSLVT'     'IT_OUT'    'Home Entertainment' ' ',
       '19'    'KSLVT'     'IT_OUT'    'SPTI' ' ',
       '20'    'KSLVT'     'IT_OUT'    'All Other Divisions' ' ',
       '21'    'KSLVT'     'IT_OUT'    'Total' ' ',
       '22'    'KSLVT'     'IT_OUT'    'Total Revenue' ' ',
       '23'    'KSLVT'     'IT_OUT'  'PV Net Down & Producers Share' '',
       '24'    'KSLVT'     'IT_OUT'    'Total Net Revenue' ' ',
       '25'    'KSLVT'     'IT_OUT'    'Development Expense' ' ',
       '26'    'KSLVT'     'IT_OUT'    'SOP Deficits' ' ',
       '27'    'KSLVT'     'IT_OUT'    'Amortization' ' ',
       '28'    'KSLVT'     'IT_OUT'    'Other COS ' ' ',
       '29'    'KSLVT'     'IT_OUT'    'Total COS' ' ',
       '30'    'KSLVT'     'IT_OUT'    'Profit Before Releasing' ' ',
       '31'    'KSLVT'     'IT_OUT'    'Gross Profit %' ' ',
       '32'    'KSLVT'     'IT_OUT'    'SPT' ' ',
       '33'    'KSLVT'     'IT_OUT'    'Home Entertainment' ' ',
       '34'    'KSLVT'     'IT_OUT'    'SPTI' ' ',
       '35'    'KSLVT'     'IT_OUT'    'All Other Divisions' ' ',
       '36'    'KSLVT'     'IT_OUT'    'Other' ' ',
       '37'    'KSLVT'     'IT_OUT'    'Total' ' ',
       '38'    'KSLVT'     'IT_OUT'    'Gross Profit' ' ',
       '39'    'KSLVT'     'IT_OUT'    'SPT' ' ',
       '40'    'KSLVT'     'IT_OUT'    'Home Entertainment' ' ',
       '41'    'KSLVT'     'IT_OUT'    'SPTI' ' ',
       '42'    'KSLVT'     'IT_OUT'    'All Other Divisions' ' ',
       '43'    'KSLVT'     'IT_OUT'    'Other' ' ',
       '44'    'KSLVT'     'IT_OUT'    'Total' ' ',
       '45'    'KSLVT'     'IT_OUT'    'Net Margin' ' '.
ENDFORM.                    " CREAT_FIELD_CATLOG
*&      Form  ADD_FIELDS_CATLOG
      Filling of field Catlog
FORM add_fields_catlog  USING    p_colpos
                                 p_fildname
                                 p_tabname
                                 p_fildtext
                                 p_ndisplay.
  w_fieldcat-row_pos       = '1'.
  w_fieldcat-col_pos       = p_colpos.
  w_fieldcat-fieldname     = p_fildname.
  w_fieldcat-tabname       = p_tabname.
  w_fieldcat-reptext_ddic  = p_fildtext.
  w_fieldcat-no_out        = p_ndisplay.
  APPEND w_fieldcat TO t_fieldcat.
  CLEAR: w_fieldcat.
ENDFORM.                    " ADD_FIELDS_CATLOG
*&      Form  SET_LAYOUT
      Set Layout
FORM set_layout .
  w_layout-colwidth_optimize = 'X'.
ENDFORM.                    " SET_LAYOUT
*&      Form  GET_EVENT
      text
FORM get_event .
  w_event-name = 'TOP-OF-PAGE'.
  w_event-form = 'F_TOP-OF_PAGE'.
  APPEND w_event TO t_event.
ENDFORM.                    " GET_EVENT
*&      Form  TOP-OF-PAGE
      Top of Page
FORM top-of-page.
  DATA : t_list_commentry   TYPE slis_t_listheader,
           w_header           TYPE slis_listheader,
           lv_text(90)        TYPE c,
           l_text(90)         TYPE c,
           lv_rundate(10)     TYPE c,
           lv_runtime(10)     TYPE c.
  CONSTANTS: c_space(2) TYPE c VALUE '  ',
             c_space2(6) TYPE c VALUE '      '.
  w_header-typ  = 'S'.
  w_header-key  = 'Program:'.
  w_header-info = sy-repid.
  APPEND w_header TO t_list_commentry.
  WRITE: sy-datum TO lv_rundate MM/DD/YYYY.
  WRITE: sy-uzeit TO lv_runtime USING EDIT MASK '__:__:__'.
CLEAR w_header.
w_header-typ  = 'S'.
w_header-key  = text-021.
w_header-info = lv_rundate.
APPEND w_header TO t_list_commentry.
  CLEAR: w_header.
  w_header-typ  = 'S'.
  w_header-key  = 'User Id'.
  w_header-info = sy-uname.
  APPEND w_header TO t_list_commentry.
  CLEAR: w_header.
  w_header-typ  = 'S'.
  w_header-key  = 'Run Date'.
  w_header-info = lv_rundate.
  APPEND w_header TO t_list_commentry.
  CLEAR: w_header.
  w_header-typ  = 'S'.
  w_header-key  = 'Run Time'.
  w_header-info = lv_runtime.
  APPEND w_header TO t_list_commentry.
  CLEAR: w_header.
  w_header-typ  = 'H'.
  w_header-key  = 'order'.
  w_header-info = 'MCR Report'.
  APPEND w_header TO t_list_commentry.
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      it_list_commentary = t_list_commentry.
ENDFORM.                    "TOP-OF-PAGE
FORM display_alv_report .
  CONSTANTS : gc_save TYPE c VALUE 'A'. "Save Layout
t_callback_main_user_command  = c_user_command.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
  I_INTERFACE_CHECK                 = ' '
  I_BYPASSING_BUFFER                = ' '
  I_BUFFER_ACTIVE                   = ' '
     i_callback_program                = sy-repid
  I_CALLBACK_PF_STATUS_SET          = ' '
    i_callback_user_command           = t_callback_main_user_command
     i_callback_top_of_page            = 'TOP-OF-PAGE'
  I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
  I_CALLBACK_HTML_END_OF_LIST       = ' '
  I_STRUCTURE_NAME                  =
  I_BACKGROUND_ID                   = ' '
  I_GRID_TITLE                      =
  I_GRID_SETTINGS                   =
     is_layout                         = w_layout
     it_fieldcat                       = t_fieldcat
  IT_EXCLUDING                      =
  IT_SPECIAL_GROUPS                 =
  IT_SORT                           =
  IT_FILTER                         =
  IS_SEL_HIDE                       =
  I_DEFAULT                         = 'X'
     i_save                            = gc_save
  IS_VARIANT                        =
  IT_EVENTS                         =
  IT_EVENT_EXIT                     =
  IS_PRINT                          =
  IS_REPREP_ID                      =
  I_SCREEN_START_COLUMN             = 0
  I_SCREEN_START_LINE               = 0
  I_SCREEN_END_COLUMN               = 0
  I_SCREEN_END_LINE                 = 0
  I_HTML_HEIGHT_TOP                 = 0
  I_HTML_HEIGHT_END                 = 0
  IT_ALV_GRAPHICS                   =
  IT_HYPERLINK                      =
  IT_ADD_FIELDCAT                   =
  IT_EXCEPT_QINFO                   =
  IR_SALV_FULLSCREEN_ADAPTER        =
IMPORTING
  E_EXIT_CAUSED_BY_CALLER           =
  ES_EXIT_CAUSED_BY_USER            =
    TABLES
      t_outtab                          = it_out
EXCEPTIONS
  PROGRAM_ERROR                     = 1
  OTHERS                            = 2
   ENDIF.

Similar Messages

  • One editable cell in alv grid using function module

    Hello all,
    Any one have an idea how to make a single editable cell in alv grid using function module, i mean to say
    with out using object oriented programming.
    Regards,
    Prakash

    Hi,
    Using ALV List display it is possible.
    Try this.
    TYPE-POOLS:SLIS.
    DATA: X_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    DATA: IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
    DATA:IT_EVENTS TYPE SLIS_T_EVENT.
    data: begin of it_chg occurs 0,
          index type sy-tabix,
          end of it_chg.
    DATA:  X_EVENTS    TYPE SLIS_ALV_EVENT.
    DATA: BEGIN OF ITAB OCCURS 0,
          NAME(10) TYPE C,
          ZTERM TYPE C,
          END OF ITAB.
    PERFORM FILL_TABLE.
    loop at itab where zterm = 'A'.
    it_chg-index = sy-tabix + 3.
    " addition 3 IS FOR FIELD LABELS
    append it_chg.
    clear it_chg.
    endloop.
    DATA:L_POS TYPE I VALUE 1.
    CLEAR: L_POS.
    L_POS = L_POS + 1.
    **fieldcatalog
    X_FIELDCAT-FIELDNAME = 'NAME'.
    X_FIELDCAT-TABNAME = 'ITAB'.
    X_FIELDCAT-COL_POS    = L_POS.
    X_FIELDCAT-OUTPUTLEN = '10'.
    APPEND X_FIELDCAT TO IT_FIELDCAT.
    CLEAR X_FIELDCAT.
    L_POS = L_POS + 1.
    X_FIELDCAT-FIELDNAME = 'ZTERM'.
    X_FIELDCAT-TABNAME = 'ITAB'.
    X_FIELDCAT-COL_POS    = L_POS.
    X_FIELDCAT-OUTPUTLEN = '10'.
    APPEND X_FIELDCAT TO IT_FIELDCAT.
    CLEAR X_FIELDCAT.
    **events
    REFRESH:IT_EVENTS.
    CLEAR:X_EVENTS,IT_EVENTS.
    X_EVENTS-NAME = SLIS_EV_END_OF_LIST.
    X_EVENTS-FORM = 'MODIFY_LIST'.
    APPEND X_EVENTS TO IT_EVENTS.
    CLEAR X_EVENTS.
    END-OF-SELECTION.
    data lv_repid type sy-repid.
    lv_repid = sy-repid.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM = lv_REPID
          IT_FIELDCAT        = IT_FIELDCAT
          IT_EVENTS          = IT_EVENTS
        TABLES
          T_OUTTAB           = ITAB
        EXCEPTIONS
          PROGRAM_ERROR      = 1
          OTHERS             = 2.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    *&      Form FILL_TABLE
          text
    FORM FILL_TABLE.
      ITAB-NAME = 'AAA'.
      ITAB-ZTERM = 'A'.
      APPEND ITAB.
      clear itab.
      ITAB-NAME = 'ABC'.
      ITAB-ZTERM = 'B'.
      APPEND ITAB.
      clear itab.
      ITAB-NAME = 'TEST'.
      ITAB-ZTERM = 'C'.
      APPEND ITAB.
      clear itab.
      ITAB-NAME = 'BBB'.
      ITAB-ZTERM = 'D'.
      APPEND ITAB.
      clear itab.
      ITAB-NAME = '123'.
      ITAB-ZTERM = 'E'.
      APPEND ITAB.
      clear itab.
      ITAB-NAME = 'GEN'.
      ITAB-ZTERM = 'A'.
      APPEND ITAB.
      clear itab.
      ITAB-NAME = 'ALV'.
      ITAB-ZTERM = 'F'.
      APPEND ITAB.
      clear itab.
      ITAB-NAME = 'ALVTEST'.
      ITAB-ZTERM = 'A'.
      APPEND ITAB.
      clear itab.
    ENDFORM.                    "FILL_TABLE
    *&      Form  MODIFY_LIST
          text
    FORM MODIFY_LIST.
    data: l_lines type i.
    describe table itab lines l_lines.
      L_LINES  = L_LINES + 3.
    "because we have 3 lines extra occupied by lables.
    "if we have header,i mean top of page add the no.of lines
    "how many ever top of page have + 3 for labels.
      DO L_LINES TIMES.
        read table it_chg with key INDEX = sy-index.
        if sy-subrc = 0.
    **This code is for reading the out put line
    **and modify accordinlg to our requiremnet.
    **don't chnage this.
          READ LINE SY-INDEX INDEX SY-LSIND.
          IF SY-SUBRC = 0.
            MODIFY LINE SY-INDEX INDEX SY-LSIND
                       FIELD FORMAT ITAB-NAME INPUT.
          ENDIF.
        ENDIF.
      ENDDO.
    ENDFORM.                    "MODIFY_LIST

  • Alv grid using function module

    hi all,
    i am using editable alv grid. but i need to add a functionality by adding a button on toolbar on click on button a new blank row should be appended below where user can enter the new records. please suggest on this i am using alv grid using function module.

    Hi
    check this program
    BCALV_TEST_GRID_EDITABLE
    when u execute the program, there is an alv which displays a set of records.
    where we have a option to add new row to the alv.check it.
    Hope this helps you.

  • Adding a color to row of a alv grid using function modules

    Can anybody clearly explains me how to add a color to a row to an alv grid using function module reuse_alv_grid_display.
    thanks in advance
    regards
    anil.

    hi,
    chk this ample pgm
    report zxyz_0004
           no standard page heading.
    type-pools slis.
    data: fieldcat type slis_t_fieldcat_alv.
    data: begin of imara occurs 0,
          matnr type mara-matnr,
          mtart type mara-mtart,
          maktx type makt-maktx,
          color_line(4) type c,
          tcolor type slis_t_specialcol_alv,  "cell
          end of imara.
    data: xcolor type slis_specialcol_alv.
    start-of-selection.
      perform get_data.
      perform write_report.
    Get_Data
    form get_data.
      imara-matnr = 'ABC'.
      imara-mtart = 'ZCFG'.
      imara-maktx = 'This is description for ABC'.
      append imara.
      imara-matnr = 'DEF'.
      imara-mtart = 'ZCFG'.
      imara-maktx = 'This is description for DEF'.
      append imara.
      imara-matnr = 'GHI'.
      imara-mtart = 'ZCFG'.
      imara-maktx = 'This is description for GHI'.
      append imara.
      loop at imara.
        if sy-tabix = 1.
          imara-color_line = 'C410'.   " color line
        endif.
        if sy-tabix = 2.          "color CELL
          clear xcolor.
          xcolor-fieldname = 'MTART'.
          xcolor-color-col = '3'.
          xcolor-color-int = '1'. "Intensified on/off
          xcolor-color-inv = '0'.
          append xcolor to imara-tcolor.
        endif.
        modify imara.
      endloop.
    endform.
    WRITE_REPORT
    form write_report.
      data: layout type  slis_layout_alv.
      layout-coltab_fieldname = 'TCOLOR'.
      layout-info_fieldname = 'COLOR_LINE'.
      perform build_field_catalog.
    CALL ABAP LIST VIEWER (ALV)
      call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                is_layout   = layout
                it_fieldcat = fieldcat
           tables
                t_outtab    = imara.
    endform.
    BUILD_FIELD_CATALOG
    form build_field_catalog.
      data: fc_tmp type slis_t_fieldcat_alv with header line.
      clear: fieldcat. refresh: fieldcat.
      clear: fc_tmp.
      fc_tmp-reptext_ddic    = 'Material Number'.
      fc_tmp-fieldname  = 'MATNR'.
      fc_tmp-tabname   = 'IMARA'.
      fc_tmp-outputlen  = '18'.
      append fc_tmp to fieldcat.
      clear: fc_tmp.
      fc_tmp-reptext_ddic    = 'Material Type'.
      fc_tmp-fieldname  = 'MTART'.
      fc_tmp-tabname   = 'IMARA'.
      fc_tmp-outputlen  = '4'.
      append fc_tmp to fieldcat.
      clear: fc_tmp.
      fc_tmp-reptext_ddic    = 'Material'.
      fc_tmp-fieldname  = 'MAKTX'.
      fc_tmp-tabname   = 'IMARA'.
      fc_tmp-outputlen  = '40'.
      fc_tmp-emphasize = 'C610'.   " color column
      append fc_tmp to fieldcat.
    endform.
    <b>anil , pls chk this link also.
    http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_color.htm
    very hlpful.</b>
    rgds
    anver
    <b>pls mark points if ur issue solved</b>
    Message was edited by: Anversha s
    Message was edited by: Anversha s

  • ZSAPMV45A copy of sapmv45A giving run time error

    Hi ABAPERs
    I copied standard program sapmv45A (trx va31) to zsapmv45A to make few changes according to user requirement. I copied all screens as well as includes . Now when I execute this zprogram it gives me a run time error : The current ABAP program "SAPMV45A" had to be terminated because it has                      
    come across a statement that unfortunately cannot be executed.          
    Error analysis                                                                               
    The system attempted to use dynpro 0000 in program "SAPMV45A".                                |
    This dynpro does not exist.     
    Help me
    Thanks in advance

    Hi
    I don't think it was a good idea to copy that program.
    All screens to be called are managed centrally (see fm SCREEN_SEQUENCE_CONTROL), the setting is done by transaction VFBS.
    So I can suppose the setting still calls the screen of SAPMV45A.
    Also you should considere if you're in release ecc 6.00 you can risk to lose all standard enhancement of SAPMV45A, because they assigned to the program, so they can't be copied in a new program.
    So probably the best solution is to create an implicit enhancement or (if you can't do it) to change the standard program.
    Max

  • ALV grid list giving run time error

    hi
       after lot of struggle , i over come by previous issue .
    but now another is coming . i.e.
    my ALV is displaying in GRID  fine . But when i am selecting a column and doing SUMMATION (Icon) . it is giving runtime error.
    same if i am clicking on PRINT PREVIEW of LIST
    please guide me.

    my ALV is displaying in GRID fine . But when i am selecting a column and doing SUMMATION (Icon) . it is giving runtime error.
    same if i am clicking on PRINT PREVIEW of LIST
    from the above issue i can see that you populated the fieldcatalog wrong . some where you made the mistake.
    fieldcat-fieldname = 'VBELN'.  "this should be caps
    fieldcat-tablename = 'IT_VBAK'. "provide the table also if you are not.
    post your field catalog part, there we can see the mistake.

  • Query giving run time error.

    Hi BW Experts,
    Here goes my question :
    There is a query which is giving runtime error as time limit exceeded. This query is based on an infoset which is based on 4 ODS's.
    Is there any way we can do performance tuning for this query?
    Many Thanks in advance,
    Sudip.

    Hi Ganesh,
    Thanks for your help.
    Can you please tell me which option to select for the infoset query as i'm seeing a lot of options on the left hand side of the screen like master Data, Transaction data, ODS objects,PSA tables etc for the RSRV transaction?
    Also to add-on from my first post...this particular query is executing for an hour after which the error message comes an "System Failue, Time limit exceeded".
    Regards,
    Sudip.

  • While processing MB51 Transation system is giving run time Error.

    Dear MM Team,
    While processing T code MB51 system getting data, if i clicking detail list in MB51 system has given below dump message. 
    A RAISE statement in the program "CL_GUI_ALV_GRID===============CP" raised the
    exception
    condition "NO_VALID_DOCUMENT".
    Kindly suggest me how to rectify the above problem.
    Regards
    Venkey.

    Dear All,
    Thanks for your prompt support, this issue have been resolved by SAP.
    Regards
    Venkat

  • How to display "Non-Fatal Run-Time Error In Function Panel" dialog?

    I'm learning how to develop an IVI-C specific driver using LabWindows/CVI. When I run my function from its function panel and it returns an error, I would like to display a dialog with both the error code and error message (as opposed to simply returning an error code on the function panel). This would save the user from having to call Prefix_error_message() to translate the error code to its error message. NI-DCPower driver is a good example of this behavior (see attached error dialog). How do I show the "Non-Fatal Run-Time Error In Function Panel" dialog? Any help is greatly appreciated. Thanks!
    Attachments:
    ErrorDialog.png ‏8 KB

    Hi Shawn,
    Thank you for replying to my post. The checkErr is just an error handling macro defined in ivi.h to goto Error: tag when the function returns a non-zero value. I have been using the checkErr macro (as well as viCheckErr and other macros) in my driver.
    Using the same hp34401a specific driver as an example, please allow me to explain my question in more details:
    Let's take the hp34401a_close function as an example. It is a simple function with only a few lines of code:
    When the hp34401a_close function is run from its front panel using an invalid session handle (e.g. "8" in this screen capture):
    You will get three "Non-Fatal Run-Time Error" popup dialogs, one from each of the IVI library functions that it calls: Ivi_LockSession, Ivi_UnlockSession, and Ivi_Dispose. However, there is no "Non-Fatal Run-Time Error" popup dialog from the hp34401a_close itself.
    My IVI-C specific driver is behaving identical to the hp34401a specific driver.
    In comparison, if run niDCPower_close function from its front panel using an invalid session handle (using the same "8" in this screen capture):
    You will only get one "Non-Fatal Run-Time Error In Function Panel" from the niDCPower_close function itself:
    I think the behavior of niDCPower driver is much better than the hp34401a driver. It replaces the three "Non-Fatal Run-Time Error" popup dialogs from the IVI library with a single "Non-Fatal Run-Time Error In Function Panel" popup dialog from the driver function itself. I would like to do the same thing with my driver but have not figured out how to display a "Non-Fatal Run-Time Error In Function Panel" dialog. Thanks in advance for your help!

  • ALV grid display problem...

    can you please help me tell what is missing in this program....
    its giving run time error NO_FIELDCATALOG_AVAILABLE.
    Also if possible give a good example for ALV grid program
    TABLES: bsak.
    SELECTION-SCREEN BEGIN OF BLOCK  b1 WITH FRAME TITLE text-010.
    PARAMETERS  :  p_bukrs TYPE bsak-bukrs,
                   p_augdt type bsak-augdt.
    thanks!!
    points willl be awarded
    SELECTION-SCREEN END OF BLOCK B1.
    TYPES  : BEGIN OF st_bsak ,
             bukrs type bsak-bukrs,
             lifnr type bsak-lifnr,
             augdt type bsak-augdt,
             augbl type bsak-augbl,
             gjahr type bsak-gjahr,
             belnr type bsak-belnr,
             budat type bsak-budat,
             bldat type bsak-bldat,
             hkont type bsak-hkont,
             saknr type bsak-saknr,
             zlsch type bsak-zlsch,
             zlspr type bsak-zlspr,
             hbkid type bsak-hbkid,
             END OF st_bsak.
    DATA it_bsak LIKE bsak OCCURS 0 WITH HEADER LINE.
    SELECT   bukrs
             lifnr
             augdt
             augbl
             gjahr
             belnr
             budat
             bldat
             hkont
             saknr
             zlsch
             zlspr
             hbkid
             FROM bsak
    INTO    (it_bsak-bukrs,
             it_bsak-lifnr,
             it_bsak-augdt,
             it_bsak-augbl,
             it_bsak-gjahr,
             it_bsak-belnr,
             it_bsak-budat,
             it_bsak-bldat,
             it_bsak-hkont,
             it_bsak-saknr,
             it_bsak-zlsch,
             it_bsak-zlspr,
             it_bsak-hbkid) UP TO 10 ROWS  "need to change it to 65000 rows
    WHERE bukrs = p_bukrs.
    endselect.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
      EXPORTING
        I_STRUCTURE_NAME                  = 'st_bsak'
        I_GRID_TITLE                      = 'SALES ORDER INFO'
      TABLES
        T_OUTTAB                          = it_bsak
       EXCEPTIONS
         PROGRAM_ERROR                     = 1
         OTHERS                            = 2
    IF SY-SUBRC <> 0.
       MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

    hi,
    try this.
    *& Report  ZALV_DS
    REPORT  zalv_ds.
    TYPE-POOLS:slis.
    TABLES:mara,
           makt,
           marc.
    DATA:BEGIN OF itab OCCURS 0,
          matnr LIKE mara-matnr,
          maktx LIKE makt-maktx,
          werks LIKE marc-werks,
         rowcolor(4) TYPE c,
          cellcolors TYPE lvc_t_scol,
         END OF itab.
    DATA:t_fcat TYPE slis_t_fieldcat_alv,
         t_eve TYPE slis_t_event.
    DATA : st_layout TYPE slis_layout_alv.
    SELECTION-SCREEN:BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS:mat FOR mara-matnr.
    SELECTION-SCREEN:END OF BLOCK blk1.
    INITIALIZATION.
      PERFORM build_cata USING t_fcat.
      PERFORM build_event.
    START-OF-SELECTION.
      PERFORM data_retrieval.
      PERFORM display_data.
    *&      Form  build_cata
          text
         -->TEMP_FCAT  text
    FORM build_cata USING temp_fcat TYPE slis_t_fieldcat_alv.
      DATA:wa_fcat TYPE slis_fieldcat_alv.
      wa_fcat-tabname = 'ITAB'.
      wa_fcat-fieldname = 'MATNR'.
      wa_fcat-seltext_m = 'Material'.
    wa_fcat-key = 'X'.
      APPEND wa_fcat TO temp_fcat.
      wa_fcat-tabname = 'ITAB'.
      wa_fcat-fieldname = 'MAKTX'.
      wa_fcat-seltext_m = 'Description'.
    wa_fcat-key = ''.
      APPEND wa_fcat TO temp_fcat.
      wa_fcat-tabname = 'ITAB'.
      wa_fcat-fieldname = 'WERKS'.
      wa_fcat-seltext_m = 'Plant'.
      APPEND wa_fcat TO temp_fcat.
    ENDFORM.                    "build_cata
    *&      Form  build_event
          text
    FORM build_event.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type     = 0
        IMPORTING
          et_events       = t_eve
        EXCEPTIONS
          list_type_wrong = 1
          OTHERS          = 2.
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    "build_event
    *&      Form  data_retrieval
          text
    FORM data_retrieval.
      SELECT maramatnr maktmaktx marc~werks INTO CORRESPONDING FIELDS OF TABLE itab
      FROM mara INNER JOIN makt ON
      maramatnr = maktmatnr
      INNER JOIN marc ON
      maramatnr = marcmatnr
      WHERE mara~matnr IN mat.
      SORT itab BY matnr.
      DELETE ADJACENT DUPLICATES FROM itab.
    ENDFORM.                    "data_retrieval
    *&      Form  display_data
          text
    FORM display_data.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program = 'ZALV_DS'
          it_fieldcat        = t_fcat
          it_events          = t_eve
        TABLES
          t_outtab           = itab
        EXCEPTIONS
          program_error      = 1
          OTHERS             = 2.
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    "display_data

  • Run time error with ALV List

    Hi,
    I am Using ALV list to display data,In that when itry to display currency field it is giving run time error.
    Following is the code i am using
      lf_fcat-fieldname   = 'SALARYE'.
      lf_fcat-tabname     = 'IT_EMPLOYEE'.
      lf_fcat-col_pos     = l_cnt.
      lf_fcat-emphasize   = 'X'.
      lf_fcat-outputlen   = 15.
      lf_fcat-ref_tabname = 'PA0008'. "<--- Ref table
      lf_fcat-ref_fieldname = 'ANCUR'. "<-----ref field
      lf_fcat-decimals_out = 2.
      lf_fcat-seltext_l   = text-061.
      append lf_fcat to it_fcat.
      clear  lf_fcat.

    Hi,
    Please check in the internal table 'IT_EMPLOYEE' , the relevant currency field as it should type compatible with your reference table field.
    Thanks,
    Dhruv Kumar Malhotra

  • Run time error in Back ground processing using LSMW

    Hi all,
        We are runnig LSMW to create Positions using tcode PP03. We are able to create positions in the foreground but we are getting error "RAISE_EXCEPTION" in the Backgrond for the same LSMW.
        Kindly suggest me suitable solution if any.
    Thanks in advance,
    Vasanth.

    Hi all,
    Thanks for your reply.
    I  got the solution. When a program is scheduled in background, if it is written in classes and ALV grid display is used, we get this error. I am able to schedule when I change the function module to LIST_DISPLAY.

  • Run time error while closing the CRM Order using BAPI

    Hi Experts,
    Need your invaluable suggestions here.Apologies for the lengthy mail, intention is to give clear idea of the issue.
    I am facing an issue while closing the CRM orders. According to our business process, when an issue is solved we will keep the order in resolved status only. We will not directly close the order from the CRM tool, instead we have created a custom program for the same purpose.
    For the custom program we will give input as the order number and execute it, this will close the order.
    Here close the order means assigning it to Close status as well assign the reason code.
    We have created some reason codes for closed status.
    So when the program is run the Order moves from resolved status to closed status along with reason code.
    But of late we are facing some problems with this program, it is giving run time error for some CRM orders.
    Run time error message : The ABAP/4 Open SQL array insert results in duplicate database records.
    The exception, which is assigned to class 'CX_SY_OPEN_SQL_DB', was not caught in procedure "CRM_SERVICE_OS_UPD_OST_DU" "(FUNCTION)", nor was it propagated by a RAISING clause.
    Please find my code which have used in the custom program
    Closing the resolved SOs in the system
        CALL FUNCTION 'CRM_STATUS_CHANGE_EXTERN_OW'
            EXPORTING
              objnr                     = iv_guid
              user_status          = lc_status_closed
           EXCEPTIONS
             object_not_found          = 1
             status_inconsistent       = 2
             status_not_allowed       = 3
             OTHERS                        = 4.
        IF sy-subrc <> 0.
          WRITE :  'Error at maintaining status'.
        ENDIF.
    Set reason code
    build lt_subject
        ls_subject-ref_guid = iv_guid.
        ls_subject-katalogart = 'A2'.
        ls_subject-codegruppe = 'ZR000003'.
        ls_subject-code       = 'ZR33'.                      " Reason code
        ls_subject-mode       = 'A'.
        APPEND ls_subject TO lt_subject.
    build lt_ossset
        ls_osset-ref_guid        = iv_guid.
        ls_osset-subject_profile = 'ZREASON03'.
        ls_osset-profile_type    = 'G'.
        ls_osset-subject         = lt_subject.
        APPEND ls_osset TO lt_osset.
    build lt_service_os
        ls_service_os-ref_guid  = iv_guid.
        ls_service_os-ref_kind  = 'A'.
        ls_service_os-osset     = lt_osset.
        APPEND ls_service_os TO lt_service_os.
    build lt_input_fields
        REFRESH: lt_input_fields, lt_field_names.
        CLEAR  : ls_input_fields, ls_field_names.
        ls_field_names-fieldname    = 'CODE'.
        APPEND ls_field_names TO lt_field_names.
        ls_field_names-fieldname    = 'CODEGRUPPE'.
        APPEND ls_field_names TO lt_field_names.
        ls_field_names-fieldname    = 'KATALOGART'.
        APPEND ls_field_names TO lt_field_names.
        ls_field_names-fieldname    = 'SERVICE_PROFILE'.
        APPEND ls_field_names TO lt_field_names.
        ls_input_fields-ref_guid    = iv_guid.
        ls_input_fields-ref_kind    = 'A'.
        ls_input_fields-objectname  = 'SERVICE_OS'.
        ls_input_fields-field_names = lt_field_names.
        APPEND ls_input_fields TO lt_input_fields.
         CALL FUNCTION 'CRM_ORDER_MAINTAIN'
          EXPORTING
            it_service_os     = lt_service_os
          CHANGING
            ct_input_fields   = lt_input_fields
          EXCEPTIONS
            error_occurred    = 1
            document_locked   = 2
            no_change_allowed = 3
            no_authority      = 4
            OTHERS            = 5.
        IF sy-subrc <> 0.
          WRITE :  'Error at maintaining reason'.
        ENDIF.
        CALL FUNCTION 'CRM_ORDER_SAVE'
          EXPORTING
            it_objects_to_save   = lt_header_guid
            iv_update_task_local = lv_update_task_local
          IMPORTING
            et_saved_objects     = lt_saved_objects
          EXCEPTIONS
            document_not_saved   = 1
            OTHERS               = 2.
        IF sy-subrc <> 0.
          WRITE : 'Error at saving'.
        ELSE.
          WRITE : 'Successfully Closed'.
          COMMIT WORK AND WAIT.
        ENDIF.
    Run time error is coming at COMMIT WORK AND WAIT statement.
    Please let me know any corrections are required in the above program.
    When I analyzed the run time error I have found that it trying to insert the record in CRMD_SRV_OSSET for that CRM order, but already one record is present in the table for the same CRM order number.
    For most of the CRM orders there is no entry in this table so they are closing successfully but for a few orders for which there is an entry we are getting the above run time error.
    There is nothing wrong with the orders which have an entry already in the table CRMD_SRV_OSSET, I need to close these kind of orders with out run time error.
    Kindly provide your feedback.

    Hi Dinakar,
    You posted this in APO PPDS forum. This question should go to PP forum where someone could answer it.
    Please close this thread and open a new thread in PP forum so that you could get help quickly from the relevant experts.
    Regards - Pawan

  • Run-time error in S_ALR_87013611

    Hi,
    Recently we have just upgraded to ECC6.0. One of the reports S_ALR_87013611 is giving run-time errors (unable to set linestyle property) when downloading to Excel using office integration option. We are using Excel 2003 SP3. Surprisingly, this report works on some PC but not on others. All the PCs are setup the same way and using the same application version.
    Please help. Thank you.

    Hello
    Run again S_ALR_8703611
    -> Error displayed
    -> Type SU53 in the dialogue box
    -> New screen appears
    -> Take a screen shot
    -> Send to BASIS for analysis
    They should fix this. Looks like some authorisation issue.
    Also, check for OSS notes
    Reg
    Suresh

  • Run time error while activating the Transfer Rules

    Hi,
    Error when activating Transfer rules for Infosource :
    0FI_GL_1 -
    (General ledger: Transaction figures)
    Run time error : ASSERTION FAILED
    Transfer rules traffic light is in Green. But when i am trying to activate the Transfer rules, its giving Run time error.
    Thanks,
    Kishore

    Hi,
    As mentioned in the note 939383 , either Import Support Package 08 for SAP NetWeaver 2004s BI (BI Patch08 or SAPKW70008) into your BI system or do correction instructions given in the note.
    It is always better to import the latest patches avialble in service market to avoid this type of problems.
    Also see tha note 1010672 amd check whether it is applicable to your problem.
    With rgds,
    Anil Kumar Sharma .P
    Message was edited by:
            Anil Kumar Sharma

Maybe you are looking for