BDC Coding & Short Dump

HI Experts,
I need to change the Document by using the FB02 Transaction. For this I am using BDC Call transaction. I did this by Recording. While Executing I am getting short dump. Can any one help me ASAP.
BDC Code….
  DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
  DATA: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
  CONSTANTS:  lv_tcode LIKE tstc-tcode VALUE 'FB02'.
  DATA: it_bseg LIKE bseg OCCURS 0 WITH HEADER LINE.
  DATA: w_chect LIKE regud-chect,    "CHECK NO.
        w_bukrs LIKE bseg-bukrs,    "COMPANY CODE
        w_belnr LIKE bseg-belnr,     "Accounting Doc. No.
        w_augbl LIKE bseg-augbl,    "Doc No. Of Clearing Doc.
        w_blart LIKE bkpf-blart,    "Document type.
        w_zlsch LIKE bseg-zlsch,    "Payment methods.
        w_assig LIKE bseg-zuonr,    "Assignment
        w_count(2) TYPE n,
        w_rep(2)   TYPE n.
*First find out the Posting Document No.
  SELECT SINGLE augbl FROM bseg INTO w_augbl
         WHERE bukrs = regup-bukrs
         AND   belnr = regup-belnr.
  SELECT * FROM bseg INTO TABLE it_bseg
           WHERE bukrs = regup-bukrs
           AND   belnr = w_augbl.
*Findint the Cheque No. from PAYR
  SELECT SINGLE chect FROM payr INTO w_chect
         WHERE vblnr = w_augbl
         AND   rzawe IN ('C','S').
*Finding the Posting Document Type
  SELECT SINGLE blart FROM bkpf INTO w_blart
         WHERE belnr = w_augbl.
  SELECT COUNT( * ) FROM bseg INTO w_count
         WHERE belnr = w_augbl
         AND   zlsch IN ('C','S').
  IF w_blart EQ 'ZP' AND w_count GT 0.
    MOVE 01 TO w_rep.
    PERFORM bdc_dynpro      USING 'SAPMF05L' '0100'.
    PERFORM bdc_field       USING 'BDC_CURSOR'
                                  'RF05L-BELNR'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '/00'.
    PERFORM bdc_field       USING 'RF05L-BELNR'
                                  w_augbl.
    PERFORM bdc_field       USING 'RF05L-BUKRS'
                                  regup-bukrs.
    PERFORM bdc_field       USING 'RF05L-GJAHR'
                                  regup-gjahr.
    w_count = w_count + 1.
    DO w_count TIMES.
      PERFORM bdc_dynpro      USING 'SAPMF05L' '0700'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'RF05L-ANZDT(w_rep)'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=PK'.
      IF w_rep EQ 01.
        PERFORM bdc_dynpro      USING 'SAPMF05L' '0302'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'BSEG-ZUONR'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=AB'.
        PERFORM bdc_field       USING 'BSEG-ZUONR'
                                      w_chect+7(6).
       PERFORM bdc_field       USING 'BDC_OKCODE'
                                           '=ENTE'.
        w_rep = w_rep + 1.
      ELSE.
        PERFORM bdc_dynpro      USING 'SAPMF05L' '0300'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'BSEG-ZUONR'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=AB'.
        PERFORM bdc_field       USING 'BSEG-ZUONR'
                                      w_chect+7(6).
        PERFORM bdc_field       USING 'DKACB-FMORE'
                                'X'.
        PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'COBL-PRCTR'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=ENTE'.
        w_rep = w_rep + 1.
      ENDIF.
    ENDDO.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                                   '=AE'.
    PERFORM call_transaction.
  ENDIF.
FORM call_transaction .
  CALL TRANSACTION lv_tcode USING bdcdata
                     MODE   'N'
                     UPDATE 'S'
                     MESSAGES INTO messtab.
  REFRESH bdcdata.
ENDFORM.                    " call_transaction
FORM bdc_dynpro USING program dynpro.
  CLEAR bdcdata.
  bdcdata-program  = program.
  bdcdata-dynpro   = dynpro.
  bdcdata-dynbegin = 'X'.
  APPEND bdcdata.
ENDFORM.
FORM bdc_field USING fnam fval.
  CLEAR bdcdata.
  bdcdata-fnam = fnam.
  bdcdata-fval = fval.
  APPEND bdcdata.
ENDFORM.
And I am getting Short Dump …..
Runtime Error          DBIF_RSQL_INVALID_CURSOR
Exception              CX_SY_OPEN_SQL_DB      
Can any one help me ASAP.
Thanks & Regards
Rajendra

HI,
Actually I including this code in the RFFOUS_C Program, this pgm for Cheque printing Printing. After generate Cheques, in the Transaction FBO2 if we see the related Document. The Assignment field of all the line items must be filled with Cheque no. For this I included the above BDC code in the ZRFFOUS_C pgm. For this I am getting that short dump in the standard program coding selection statement.
Thanks & Regards
Rajendra

Similar Messages

  • Bdc short dump

    what do you do when you encounter short dump during execution report or bdc

    After getting a dump, first read the dump analysis. It ll tell you what exactly the problem is.
    Then move ahead to find the "Source code extract" which shows you at which line of your code the problem occurs.
    Click the icon left to Deburgger button to get the list of options available.
    1    What happened?
    2    What can you do?
    <b>3    Error analysis</b>
    <b> 4    How to correct the error</b>
    5    System environment
    6    User, transaction...
    7    Information on where terminated
    <b>8    Source code extract</b>
    9    Contents of system fields
    10    Active calls / events
    11    Chosen variables
    12    Application Calls
    13    Application Information
    14    Internal notes
    15    Active calls in SAP kernel
    16    List of ABAP programs affected
    17    List of internal tables
    18    Directory of Application Tables
    19    Directory of Application Tables (Administrative Information)
    20    ABAP control blocks CONT
    21    End of runtime analysis
    Reward points if helpful
    Thanks
    vinsee

  • Short Dump while scrolling in a maintenance view

    A maintenance view has one field, defined as "Radiobutton".
    1) Select the radiobutton for one entry.
    2) Scroll down so that in the new page (i.e. the entries displayed in the new page) the entry selected in the first step is not visible.
    3) Select any radiobutton again corresponding to any of the entries displayed in the new page.
    4) On scrolling up again the short dump occurs.
    The short dump text says "More than one radio button is active".
    Any inputs in this regards are appreciated.
    Thanks.
    Gajendra.

    Hi,
    that means you are trying to make two radio buttons active.
    parameters: ra radiobutton group g1 default = 'X',
                rb radiobutton group g1.
    ra = 'X'.
    and rb = 'X'.
    in your case so obviously it will dump.
    check your coding..
    and show your code...
    Regards
    vijay

  • Short dump while doing subtotal in the ALV report

    Hi All,
    I am getting run time error while doing the sub total and total in the ALV .
    error is "MESSAGE_TYPE_X" and
    discription is  "The current application program detected a situation which really
    should not occur. Therefore, a termination with a short dump was
    triggered on purpose by the key word MESSAGE (type X)."
    Can anyone help me regarding this.
    My alv field catog is like below
      DATA: ls_fieldcat TYPE slis_fieldcat_alv,
            ls_sort     TYPE SLIS_SORTINFO_ALV.
      CLEAR:ls_fieldcat,
            ls_sort.
      REFRESH ot_fieldcat.
      ls_fieldcat-FIELDNAME   = 'LEASE_NUMBER'.
      ls_fieldcat-SELTEXT_M   = 'Lease Number'(001).
      ls_fieldcat-COL_POS     = 0.
      ls_fieldcat-OUTPUTLEN   = 10.
      ls_fieldcat-DO_SUM      = 'X'.
      ls_fieldcat-KEY         = 'X'.
      APPEND ls_fieldcat TO ot_fieldcat.
      CLEAR  ls_fieldcat.
      ls_fieldcat-FIELDNAME   = 'LEASE_TYPE'.
      ls_fieldcat-SELTEXT_M   = 'Lease Type'(002).
      ls_fieldcat-COL_POS     = 1.
      ls_fieldcat-OUTPUTLEN   = 5.
      APPEND ls_fieldcat TO ot_fieldcat.
      CLEAR  ls_fieldcat.
      ls_fieldcat-FIELDNAME   = 'LEGACY_NUM'.
      ls_fieldcat-SELTEXT_M   = 'Legacy Contract No'(003).
      ls_fieldcat-COL_POS     = 2.
      ls_fieldcat-OUTPUTLEN   = 10.
      APPEND ls_fieldcat TO ot_fieldcat.
      CLEAR  ls_fieldcat.
      ls_fieldcat-FIELDNAME   = 'CUSTOMER'.
      ls_fieldcat-SELTEXT_M   = 'Customer'(004).
      ls_fieldcat-COL_POS     = 3.
      APPEND ls_fieldcat TO ot_fieldcat.
      CLEAR  ls_fieldcat.
      ls_fieldcat-FIELDNAME   = 'STATUS'.
      ls_fieldcat-SELTEXT_M   = 'Status'(017).
      ls_fieldcat-COL_POS     = 16.
      ls_fieldcat-OUTPUTLEN   = 10.
      APPEND ls_fieldcat TO ot_fieldcat.
      CLEAR  ls_fieldcat.
      ls_fieldcat-FIELDNAME   = 'GATEIN_DT'.
      ls_fieldcat-SELTEXT_M   = 'Gate In Date'(018).
      ls_fieldcat-COL_POS     = 17.
      ls_fieldcat-OUTPUTLEN   = 10.
      APPEND ls_fieldcat TO ot_fieldcat.
      CLEAR  ls_fieldcat.
      ls_fieldcat-FIELDNAME   = 'SVALUE'.
      ls_fieldcat-COL_POS     = 18.
      ls_fieldcat-DO_SUM      = 'X'.
      ls_fieldcat-OUTPUTLEN   = 12.
      APPEND ls_fieldcat TO ot_fieldcat.
      CLEAR  ls_fieldcat.
    DATA SORTING AND SUBTOTAL
      CLEAR ls_sort.
      ls_sort-FIELDNAME = 'LEASE_NUMBER'.
      ls_sort-SPOS      = 0.
      ls_sort-UP        = 'X'.
      ls_sort-SUBTOT    = 'X'.
      APPEND ls_sort TO GT_SORT.
    If i coment the code relate dto 'SVALUE' i am getting output without sub total and total.
    if i uncomment the same then I am getting short dump.

    Hi,
    Try this coding,
    TYPE-POOLS: SLIS.                      " ALV GLOBAL TYPES
    *      FORM  F_READ_DATA
    FORM F_READ_DATA.
      SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_VBAK
               FROM VBAK
                 UP TO P_MAX ROWS
              WHERE KUNNR IN S_KUNNR
                AND VBELN IN S_VBELN
                AND VKORG IN S_VKORG.
    ENDFORM.                               " F_READ_DATA
    *      FORM  F_DISPLAY_DATA
    FORM F_DISPLAY_DATA.
      DEFINE M_FIELDCAT.
        ADD 1 TO LS_FIELDCAT-COL_POS.
        LS_FIELDCAT-FIELDNAME   = &1.
        LS_FIELDCAT-REF_TABNAME = 'VBAK'.
        LS_FIELDCAT-DO_SUM      = &2.
        LS_FIELDCAT-CFIELDNAME  = &3.
        APPEND LS_FIELDCAT TO LT_FIELDCAT.
      END-OF-DEFINITION.
      DEFINE M_SORT.
        ADD 1 TO LS_SORT-SPOS.
        LS_SORT-FIELDNAME = &1.
        LS_SORT-UP        = 'X'.
        LS_SORT-SUBTOT    = &2.
        APPEND LS_SORT TO LT_SORT.
      END-OF-DEFINITION.
      DATA:
        LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
        LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
        LT_SORT     TYPE SLIS_T_SORTINFO_ALV,
        LS_SORT     TYPE SLIS_SORTINFO_ALV,
        LS_LAYOUT   TYPE SLIS_LAYOUT_ALV.
      M_FIELDCAT 'VKORG' ''  ''.
      M_FIELDCAT 'KUNNR' ''  ''.
      M_FIELDCAT 'VBELN' ''  ''.
      M_FIELDCAT 'NETWR' 'X' 'WAERK'.
      M_FIELDCAT 'WAERK' ''  ''.
      M_SORT 'VKORG' 'X'.                  " SORT BY VKORG AND SUBTOTAL
      M_SORT 'KUNNR' 'X'.                  " SORT BY KUNNR AND SUBTOTAL
      M_SORT 'VBELN' ''.                   " SORT BY VBELN
      LS_LAYOUT-CELL_MERGE = 'X'.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
                IS_LAYOUT   = LS_LAYOUT
                IT_FIELDCAT = LT_FIELDCAT
                IT_SORT     = LT_SORT
           TABLES
                T_OUTTAB    = GT_VBAK.
    ENDFORM.                               " F_DISPLAY_DATA
    Regards,
    Nikhil.

  • Short dump error when using count(*)

    Hi Experts
    I am getting a short dump error when selecting the records >= current date - 30 see the coding and comment please correct the coding I want to know the ztable records it is important for command interface.
    I have 1402345 records available after deleting the records but as the memory is not enough it is giving short dump error
    select count(*) from ZINT_TABLE
    select count(*) from ZINT_MSGS
       select * from zint_data
                 nto table izint_d2 . "PACKAGE SIZE 20000
       where STATUS = 'OK' AND CREATED_ON >= w_date1.          " VALUE
    endselect.**
    report z_eslp_command_records.
    data: cnt type i.
    data: cnt2 type i.
    data: cnt3 type i.
    data: cnt4 type i.
    DATA:
         w_date1 like sy-datum .
    DATA:
         w_date2 like sy-datum.
    data: izint_msgs type table of zint_msgs.
    data: izint_data type table of zint_data.
    data: izint_m2 type table of zint_msgs.
    data: izint_d2 type table of zint_data.
    INITIALIZATION.
    w_date1 = sy-datum -  30.
    w_date2 = sy-datum -  30.
    select * from zint_data
                 into table izint_data PACKAGE SIZE 3000
                 where STATUS = 'OK' AND CREATED_ON <= w_date1.   " ZERO
    endselect.
    select * from zint_msgs
                 into table izint_msgs  PACKAGE SIZE 3000
                  where  CREATED_ON <= w_date2.              " ZERO
    endselect.
      select * from zint_data
                 into table izint_d2 PACKAGE SIZE 20000
       where STATUS = 'OK' AND CREATED_ON >= w_date1.          " VALUE
    endselect.
    select * from zint_msgs
                 into table izint_m2 PACKAGE SIZE 20000
      where CREATED_ON >= w_date2.                            " VALUE
      endselect.
    select * from zint_data
                into table izint_data2
    where STATUS = 'OK' AND CREATED_ON >= CONVERT(CHAR(8), GETDATE() - 30, 112)).
    ENDSELECT.
      select * from zint_msgs
                into table izint_msgs2
    where CREATED_ON >= CONVERT(CHAR(8), GETDATE() - 30, 112)).
    ENDSELECT.
    sort izint_data by created_on ascending.
    sort izint_msgs by created_on ascending.
    sort izint_d2 by created_on ascending.
    sort izint_m2 by created_on ascending.
    describe table izint_data lines cnt.
    describe table izint_msgs lines cnt2.
    describe table izint_d2 lines cnt3.
    describe table izint_m2 lines cnt4.
    write:/ ' Note: THE RECORDS COUNTED SHOULD SHOW ZERO ELSE THE SCRIPT FAILED TO RUN' color 3.
    skip.
    write:/ '1. Records counted in ZINT_DATA   <=current date - 30                   :' color 2,                        cnt color 4.
    write:/ '2. Records available in ZINT_DATA >=current date - 30                   'color 4,                   cnt3 color 4 .
    skip.
    write:/ '2. Records counted in ZINT_MSGS   <=current date - 30                   :' color 2                 ,                      cnt2 color 4.
    write:/ '4. Records available in ZINT_MSGS >=current date - 30                   'color 4  ,            cnt4 color 4 .
    TOP-OF-PAGE.
    WRITE:/55(60) ' WAGNERS INVESTMENT LIMITED  '.
    WRITE:/50(40) ' Command Interface Data' CENTERED .
      WRITE:/50(40) '----
    ' CENTERED .
      FORMAT INTENSIFIED ON.
      SKIP.
      "FORMAT COLOR COL_HEADING.
      ULINE.
      FORMAT COLOR 1.
    END-OF-PAGE.

    Answer

  • Report Painter GR214 generation error - Short dump 4.6C

    While generating a report with more than twenty sections, the system short dumps with the error message GR214 pointing to  "MESSAGE_TYPE_X"                                          
    "%_T01JR0 " or "########################################" 
    "INSERT_ROW_FORMULA_NEW"                                  
    Any leads to fix this?
    The generation error happens only when I include a last line formula in the last section, Till then it is working fine.

    Hi,
    The error you are receiving could be caused by a large number of row blocks in your report definition, (you can check the report definition with report RGRRDC00). A report should not contain too many row and column blocks. It is not possible to give an upper bound for the number of row blocks (since the length of the coding depends on other parts of the report as well). However, even a complicated Report Writer or Report Painter report should not contain more than 50 row blocks, and reports with more than 100 row blocks should not be defined.
    In this case the report(s) have to be redefined. Please also refer to the note 387916 for further information regarding this issue.
    When there are more than 30 variables in a report, please have a look at the note 332091.
    Please reduce the number of row blocks in the report by using the function 'Edit' -> 'Rows' -> 'Explode' in the Report Painter
    definition. This function enables several rows to be created for one row block (in the Report Painter definition one row block is just one row). Report Painter (and Report Writer) are designed to display hierarchical reports where the rows in the few row blocks are built up using the 'Explode' function.
    regards
    Waman

  • What are the major situations  to go to the short dump in abap programming?

    What are the major situations  to go to the short dump in abap programming?

    Hi,
    The major situations that an ABAP Program can result a dumb are as follows...
    1) Poor coding i.e., if the data in the data base is less, then even a poor code can give you the result.  But when you transport the program into Production, then there the same program will give you a dump, resulting 'TIMED OUT' error.  So performance tunning is required for each and every program.
    2) while calling a function module.
    3) extracting of data into fields which are not type casted.
    4) in case of x/y value, one should check the value of 'y' should not be zero, else a dump will result.
    these are few which i can give for time being........

  • Short dump with TPM_TRD1 000

    hi  everyone,
    when I run the Tcode:TBB1&#65292;i come across a ABAP short dump error.
    my system environment is:
    PC
    windows2003NT
    oracle10.2
    independant system without SLD control
    The error info as follow:
    Note 837202 - TPM_MIGRATION:tpm18: Short dump with TPM_TRD1 000
    Summary
    Symptom
    You migrate from Release CFM or Enterprise 1.10 to ERP 2.0 or higher. There are already parallel valuation areas in use. In tpm_migration_cat, you specify a key date. In the test system, the following short dump occurs for the parallel valuation areas:
    Error message short text:
    Internal error: SLD
    Message class: "TPM_TRD1"
    Number: 000
    Variable 1: "SLD"
    Other terms
    CL_DISTRIBUTOR_SLD, TPM_TRD1000
    Solution
    In the production system, you have to carry out tpm18 before the technical upgrade for all business transactions that are before the key date from tpm_migration_cat.
    I do not understand how to do with the soluton
    eg.what is "tpm18"?
    Do need your helps,
    Thank you very much
    Peter

    Hi Peter,
    I guess you found note 837202 when you were looking for a solution for the TBB1 dump you encountered.
    This note deals with a special situation when executing tpm18 (which is the transaction for fixing and posting derived flows) in a test system after migration and it tells you you should run tpm18 in production before the technical upgrade.
    I am not sure if this really applies to your situation, maybe you should rather check if note 821854 and the solution therein can be helpful.
    But without more information (e.g. knowing more about your release, your 'migration history' and the part of the coding where the dump is raised), it is quite difficult to give a diagnosis.
    Maybe you should think of sending a customer message to SAP support via the SAP marketplace if you cannot get rid of this problem on your own.

  • CL_RSPLS_CR_CONTROLLER method inner join short dump

    Hi guys,
    i have characteristic relationship usage but i created a new concept for characteristic combinations creation. We have one table with all characteristics are maintained We want to use one single table to maintain all relations. The class created with the create method implemented is working and we do have the right entries in table c_th_chas. This table then goes into standard coding and is transformed. Afterwards  method complete_combis is executed and within this method there is the method INNER_JOIN_steps. There method INNER_JOIN is executed. And this is thge method which dumps because method INNER_JOIN has a part beggining with the comment intersection of characteristics is empty, so build the cart.product.. From 13 characetristics in the table 6 are filled and 7 are empty . Maybe 8 times i am able to to run the loop but then the values of the tables is increasing immensly and a short time is thrown with no more internal table space... --> no more memory.
    The problem seems to be the empty characetristics and the building of the cart. product. The command
      INSERTc_s_chas INTO TABLE e_th_chas.
    is to much for over 10 Mio records and a short dump is thrown.
    Is there any workaround for this problem? Can someone give me a hint.
    Thanks and regards,
    Murat

    Hi Gregor,
    thank you for your very helpful answer. With ticking this flag no automatic combinations were created and the wished characetristic relations were displayed. But after ticking this flag other workbooks crashed of invalid combinations which worked fine before witout the characteristic relationship class activation. The issue is as following:
    i have a lot of characteristics in the realtime planning cube. My intention was to make one big table with most of the characteristics in it to build characteristic relations. At the moment we do have some tables and maintaining them gets komplex. One table i for all is the target.We have workbooks where we dont want use characteristic relations so we have a characetristic embedded in constant selections (structure) in the query and other characteristics with Access Type for Result Values in Master Data and Filter Value Selection Durinbg Query Execution with Values in Master data Table. For these workbooks i dont want characteristic relationships but we also have the opposite queries with characetreistics with ACCESS Type for Result Values with CHARACTERISTIC RELATIONSHIP and Filter value Selection During Query execution with CHARACTERISTIC RELATIONSHIP. In these workbooks i want to use characetristic relationships and the table in the others not. Now  the wueries where i want to use CRRs are correct but at the other workbooks also the table and CRR class is executed but i dont want them to get restricted by CRRS and also there is no characetristic using ACCESS Type for Result Values with CHARACTERISTIC RELATIONSHIP and also Filter value Selection During Query execution with CHARACTERISTIC Relationdships.
    But despite why is CRR class executed. How can i solve it?
    I would appreciate if you or someone  could suggest me something here.
    Thanks and kind regards,
    Murat

  • Short dump during select statement

    hi,
    i have to display 1 alv list output using REUSE_ALV_HIERSEQ_LIST_DISPLAY function module...so i have populated the data using select statement
    select EXIDV
        brgew meabm
               vegr1 erlkz vhilm erdat aenam
               ernam from vekp
                    into corresponding fields of table  gt_master
                    up to gs_test-select_amount rows.
    so the data is also getting populated to gt_master table before the function module...but after executing the function module..it is giving short dump...due to some standard program....any idea

    hi,
    my coding is
    Report       : ZBCALV                                                 *
    Author       :                                                       *
    SAP-User     :                                                       *
    Requester    :                                                       *
    Date         :                                                       *
    Specification:                                                       *
    Description  :                                                       *
    Changes      :                                                       *
    Change No    :                                                       *
    Author       :                                                       *
    SAP-User     :                                                       *
    Date         :                                                       *
    Reason / Desc:                                                       *
    REPORT   ZBCALV.
    **& Report  BCALV_TEST_HIERSEQ_LIST_EVENTS                              *
    *report  bcalv_test_hierseq_list_events.
    types: g_ty_t_exidv  type standard table of vekp,
           g_ty_t_brgew  type standard table of vekp,
           g_ty_t_vegr1  type standard table of vekp,
           g_ty_t_vekp    type standard table of vekp,
           g_ty_t_curr    type standard table of alv_cur,
          g_ty_s_vekp type alv_t_t2,
           g_ty_s_exidv  type alv_tab,
           g_ty_s_brgew   type alv_tab,
           g_ty_s_vegr1  type alv_chck,
           g_ty_s_vekp    type vekp,
           g_ty_s_curr    type alv_cur.
    constants:
    *con_vekp type lvc_fname value 'ALV_T_T2',
               con_scarr   type lvc_fname value 'ALV_TAB',      "#EC *
               con_spfli   type lvc_fname value 'ALV_CHCK',     "#EC *
               con_vekp    type lvc_fname value 'VEKP',
               con_scurx   type lvc_fname value 'ALV_CUR'.      "#EC *
    DATA                                                                 *
    tables: sscrfields.   " for processing the FCODEs in Selektion screens
    type-pools: slis, kkblo.
    class lcl_events_d1001 definition deferred.
    types: begin of g_ty_s_test,
             select_amount      type i,
             selected_recs_m    type i,
             selected_recs_s    type i,
             no_info_popup      type char1,
             info_popup_once    type char1,
             events             type lvc_fname occurs 0,
             events_exit        type slis_t_event_exit,
             events_info_popup  type lvc_fname occurs 0,
             list_append        type char1,
             list_amount        type i,
             list_append_status type i,
             layo_expand_field  type char1,
             layo_expand_all    type char1,
             vari_default       type char1,
             vari_save          type char1,
             bypassing_buffer   type char1,
             buffer_active      type char1,
           end   of g_ty_s_test,
           begin of g_ty_s_evt_exit.
    include type slis_event_exit.
    types:   text    type string,
           end   of g_ty_s_evt_exit,
           g_ty_t_evt_exit type standard table of g_ty_s_evt_exit.
    constants: con_true     type char1 value 'X',
               con_ok   type sy-ucomm value 'OK',
               con_exit type sy-ucomm value 'EXIT',
               con_canc type sy-ucomm value 'CANC',
               con_back type sy-ucomm value 'BACK',
               con_event_01 type lvc_fname value 'PF_STATUS_SET',
               con_event_02 type lvc_fname value 'USER_COMMAND',
               con_event_03 type lvc_fname value 'CALLER_EXIT',
               con_event_04 type lvc_fname value 'LIST_MODIFY',
               con_event_05 type lvc_fname value 'BEFORE_LINE_OUTPUT',
               con_event_06 type lvc_fname value 'AFTER_LINE_OUTPUT',
               con_event_07 type lvc_fname value 'SUBTOTAL_TEXT',
               con_event_08 type lvc_fname value 'REPREP_MODIFY',
               con_event_09 type lvc_fname value 'TOP_OF_PAGE',
               con_event_10 type lvc_fname value 'END_OF_PAGE',
               con_event_11 type lvc_fname value 'TOP_OF_LIST',
               con_event_12 type lvc_fname value 'END_OF_LIST',
               con_event_13 type lvc_fname value 'TOP_OF_COVERPAGE',
               con_event_14 type lvc_fname value 'END_OF_COVERPAGE',
               con_event_15 type lvc_fname value 'TOP_OF_FOREIGN_PAGE',
               con_event_16 type lvc_fname value 'END_OF_FOREIGN_PAGE',
               con_event_17 type lvc_fname value 'GROUPLEVEL_CHANGE',
               con_event_18 type lvc_fname value 'ITEM_DATA_EXPAND'.
    data: gs_test type g_ty_s_test.
    data: g_okcode type sy-ucomm.
    data: g_repid type sy-repid.
    data: gt_evt_exit type g_ty_t_evt_exit.
    data: gr_container_d1001   type ref to cl_gui_custom_container,
          gr_grid_d1001        type ref to cl_gui_alv_grid,
          gr_events_d1001      type ref to lcl_events_d1001.
    data: g_start_listinfo type slis_lineinfo.
    *addition for extra
    DATA: fieldcatalog  TYPE slis_t_fieldcat_alv with header line.
    types  : BEGIN OF gt_output ,
           EXIDV TYPE VEKP-EXIDV,
          VGBEL TYPE LIPS-VGBEL,
           BRGEW TYPE VEKP-BRGEW,
           VEGR1 TYPE VEKP-VEGR1,
           MEABM TYPE VEKP-MEABM,
           ERLKZ TYPE VEKP-ERLKZ,
          VSTAT TYPE NAST-VSTAT,
           VHILM TYPE VEKP-VHILM,
           ERDAT TYPE VEKP-ERDAT,
           AENAM TYPE VEKP-AENAM,
           VBELN TYPE VBELN_GEN,
           ERNAM TYPE VEKP-ERNAM,
            END OF gt_output.
    data: ls_output type gt_output,
          lt_output type gt_output occurs 0 WITH HEADER LINE .
    types  : BEGIN OF gt_item_output ,
           EXIDV TYPE VEKP-EXIDV,
           BRGEW TYPE VEKP-BRGEW,
            vEGR1 TYPE VEKP-VEGR1,
           TARAG TYPE VEKP-TARAG,
           NTGEW TYPE VEKP-NTGEW,
           MEABM TYPE VEKP-MEABM,
           BREIT TYPE VEKP-BREIT,
           HOEHE TYPE VEKP-HOEHE,
          ANW_STATUS TYPE VEKP-ANW_STATUS,
           MATNR TYPE VEPO-MATNR,
           VEGR2 TYPE VEKP-VEGR2,
           VSTEL TYPE VEKP-VSTEL,
           WERKS TYPE VEKP-WERKS,
           END OF gt_item_output.
    data: ls_ITEM_output type gt_ITEM_output,
           lt_ITEM_output type gt_ITEM_output occurs 0 with header line.
    types:       begin of g_ty_s_master.
    include type gt_output.
    types:   box                  type char1,
            lights               type char1,
             checkbox             type char1,
             expand               type char1,
             help                 type i,
             end   of g_ty_s_master,
           g_ty_t_master type standard table of g_ty_s_master,
           begin of g_ty_s_slave.
    include type gt_item_output.
    types:   box                  type char1,
            lights               type char1,
             checkbox             type char1,
             expand               type char1,
             help                 type i,
             end   of g_ty_s_slave,
           g_ty_t_slave type standard table of g_ty_s_slave.
    data: gt_master type g_ty_t_master with header line,
          gt_slave  type g_ty_t_slave with header line,
          gs_master type g_ty_s_master.
          CLASS lcl_events_d1001 DEFINITION
    class lcl_events_d1001 definition.
      public section.
        methods:
        data_changed         for event data_changed
                             of cl_gui_alv_grid
                             importing er_data_changed
                                       e_onf4
                                       e_onf4_before
                                       e_onf4_after,
        data_changed_finished
                             for event data_changed_finished
                             of cl_gui_alv_grid.
    endclass.                    "lcl_events_d1001 DEFINITION
          CLASS lcl_events_d1001 IMPLEMENTATION
    class lcl_events_d1001 implementation.
      method data_changed.
      endmethod.                    "data_changed
      method data_changed_finished.
      endmethod.                    "data_changed_finished
    endclass.                    "lcl_events_d1001 IMPLEMENTATION
    SELECTION-SCREEN                                                     *
    selection-screen begin of block gen with frame.
    parameters:
    p_amount type i default 30.
    selection-screen end of block gen.
    at selection-screen.
    AT SELECTION-SCREEN                                                  *
      case sscrfields-ucomm.
        when 'PB01'.
          call screen 1001 starting at 1 1 ending at 80 20.
      endcase.
    START-OF-SELECTION                                                   *
    start-of-selection.
      g_repid = sy-repid.
      gs_test-select_amount = p_amount.
    END-OF-SELECTION                                                     *
    end-of-selection.
      perform f01_call_list.
    *&      Form  f01_call_list
          text
    form f01_call_list.
      data: l_callback_program type sy-cprog,                   "#EC NEEDED
            ls_layo            type slis_layout_alv,
            lt_fcat            type slis_t_fieldcat_alv,
            ls_keyinfo         type slis_keyinfo_alv.
      data: ls_master type g_ty_s_master,
            ls_slave  type g_ty_s_slave.
      l_callback_program = sy-repid.
      perform f01_alv_get_outtab.
      perform f01_alv_set_layout changing ls_layo.
      perform f01_alv_set_fcat   changing lt_fcat.
      perform f01_alv_set_keyinfo changing ls_keyinfo.
      if gs_test-list_append_status ne 0.
        ls_layo-list_append = gs_test-list_append.
      endif.
      call function 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
        exporting
          i_callback_program             = g_repid
          is_layout                      = ls_layo
          it_fieldcat                    = lt_fcat
          i_tabname_header               = 'GT_MASTER'
          i_tabname_item                 = 'GT_SLAVE'
          is_keyinfo                     = ls_keyinfo
        tables
          t_outtab_header                = gt_master
          t_outtab_item                  = gt_slave
        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.                    " f01_call_list
    FORM f01_alv_set_fcat
    form f01_alv_set_fcat changing ct_fcat type slis_t_fieldcat_alv.
      data: lt_fcat_master type slis_t_fieldcat_alv,
            lt_fcat_slave  type slis_t_fieldcat_alv.
      clear ct_fcat[].
      perform f01_alv_set_fcat_master changing lt_fcat_master.
      perform f01_alv_set_fcat_slave  changing lt_fcat_slave.
      append lines of lt_fcat_master to ct_fcat.
      append lines of lt_fcat_slave  to ct_fcat.
    endform.                               " F01_ALV_SET_FCAT
    *&      Form  f01_alv_set_fcat_master
          text
    form f01_alv_set_fcat_master changing ct_fcat type slis_t_fieldcat_alv.
      data: ls_fcat type slis_fieldcat_alv,
            l_char(3) type c.
    get fieldcatalog
      fieldcatalog-fieldname   = 'EXIDV'.           "Field name in itab
      fieldcatalog-seltext_l  = 'HU-NR'.  "Column text
      FIELDCATALOG-KEY         = 'X'.
      FIELDCATALOG-TECH        = 'X'.
      fieldcatalog-col_pos     = 1.  "Column position
       fieldcatalog-ref_tabname     = 'VEKP'.
      fieldcatalog-outputlen   = 05.                "Column width
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'VGBEL'.
      fieldcatalog-seltext_L   = 'SALES ORDER'.
      fieldcatalog-outputlen   = 15.
       fieldcatalog-ref_tabname     = 'LIPS'.
      fieldcatalog-col_pos     = 2.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'BRGEW'.
      fieldcatalog-seltext_l   = 'WEIGHT'.
      FIELDCATALOG-KEY         = 'X'.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-col_pos     = 3.
       fieldcatalog-ref_tabname     = 'VEKP'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'MEABM'.
      fieldcatalog-seltext_l   = 'DIMENSION'.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-col_pos     = 4.
       fieldcatalog-ref_tabname     = 'VEKP'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'VEGR1'.
      fieldcatalog-seltext_l   = 'IPPC NR'.
      fieldcatalog-outputlen   = 15.
      FIELDCATALOG-KEY         = 'X'.
      fieldcatalog-col_pos     = 5.
       fieldcatalog-ref_tabname     = 'VEKP'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'ERLKZ'.
      fieldcatalog-seltext_l   = 'STATUS'.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-col_pos     = 6.
       fieldcatalog-ref_tabname     = 'VEKP'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'VSTAT'.
      fieldcatalog-seltext_l   = 'PRINT STATUS'.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-col_pos     = 7.
       fieldcatalog-ref_tabname     = 'VSTAT'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'VHILM'.
      fieldcatalog-seltext_l   = 'PACKING MATERIAL'.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-col_pos     = 8.
       fieldcatalog-ref_tabname     = 'VEKP'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'ERDAT'.
      fieldcatalog-seltext_l   = 'CREATED FROM'.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-col_pos     = 9.
       fieldcatalog-ref_tabname     = 'VEKP'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'AENAM'.
      fieldcatalog-seltext_l   = 'LAST CHANGE'.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-col_pos     = 10.
       fieldcatalog-ref_tabname     = 'VEKP'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'VBELN'.
      fieldcatalog-seltext_l   = 'DELIVERY'.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-col_pos     = 11.
       fieldcatalog-ref_tabname     = 'VEKP'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'ERNAM'.
      fieldcatalog-seltext_l   = 'CREATED BY'.
      fieldcatalog-outputlen   = 12.
      fieldcatalog-col_pos     = 8.
       fieldcatalog-ref_tabname     = 'VEKP'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      ls_fcat-tabname = 'GT_MASTER'.
      modify ct_fcat from ls_fcat transporting tabname
                     where tabname ne ls_fcat-tabname.
      loop at ct_fcat into ls_fcat.
        if    ls_fcat-fieldname eq 'BRGEW'.
          or ls_fcat-fieldname eq ''.
    *§1.Set status of columns PLANETYPE and SEATSOCC to editable.
          ls_fcat-edit = 'X'.
          modify ct_fcat from ls_fcat.
        endif.
      endloop.
    endform.                    " f01_alv_set_fcat_master
    *&      Form  f01_alv_set_fcat_slave
          text
    form f01_alv_set_fcat_slave changing ct_fcat type slis_t_fieldcat_alv.
      data: ls_fcat   type slis_fieldcat_alv,
            l_char(3) type c.
      fieldcatalog-fieldname   = 'EXIDV'.           "Field name in itab
      fieldcatalog-seltext_l  = 'HU-NR'.  "Column text
      FIELDCATALOG-KEY         = 'X'.
       FIELDCATALOG-TECH        = 'X'.
      fieldcatalog-col_pos     = 1.  "Column position
       fieldcatalog-ref_tabname     = 'VEKP'.
      fieldcatalog-outputlen   = 05.                "Column width
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
    fieldcatalog-fieldname   = 'TARAG'.           "Field name in itab
      fieldcatalog-seltext_l  = 'HU-NR'.  "Column text
      fieldcatalog-col_pos     = 1.  "Column position
       fieldcatalog-ref_tabname     = 'VEKP'.
      fieldcatalog-outputlen   = 05.                "Column width
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'NTGEW'.
      fieldcatalog-seltext_L   = 'WEIGHT HU'.
      fieldcatalog-outputlen   = 15.
       fieldcatalog-ref_tabname     = 'VEKP'.
      fieldcatalog-col_pos     = 2.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'BRGEW'.
      fieldcatalog-seltext_l   = 'WEIGHT'.
    FIELDCATALOG-KEY         = 'X'.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-col_pos     = 3.
       fieldcatalog-ref_tabname     = 'VEKP'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'LAENG'.
      fieldcatalog-seltext_l   = 'LENGTH'.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-col_pos     = 4.
       fieldcatalog-ref_tabname     = 'VEKP'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'BREIT'.
      fieldcatalog-seltext_l   = 'WIDTH'.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-col_pos     = 5.
       fieldcatalog-ref_tabname     = 'VEKP'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'HOEHE'.
      fieldcatalog-seltext_l   = 'HEIGHT'.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-col_pos     = 6.
       fieldcatalog-ref_tabname     = 'VEKP'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'VEGR1'.
      fieldcatalog-seltext_l   = 'HU GR1'.
      FIELDCATALOG-KEY         = 'X'.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-col_pos     = 7.
       fieldcatalog-ref_tabname     = 'VEKP'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'VEGR2'.
      fieldcatalog-seltext_l   = 'HU GR2'.
      FIELDCATALOG-KEY         = 'X'.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-col_pos     = 8.
       fieldcatalog-ref_tabname     = 'VEKP'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'MATNR'.
      fieldcatalog-seltext_l   = 'MAT NO'.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-col_pos     = 9.
       fieldcatalog-ref_tabname     = 'VEPO'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'VSTEL'.
      fieldcatalog-seltext_l   = 'SHIPPING'.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-col_pos     = 10.
       fieldcatalog-ref_tabname     = 'VEKP'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'WERKS'.
      fieldcatalog-seltext_l   = 'PLANT'.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-col_pos     = 11.
       fieldcatalog-ref_tabname     = 'VEKP'.
      APPEND fieldcatalog TO ct_fcat.
      CLEAR  fieldcatalog.
      ls_fcat-tabname = 'GT_SLAVE'.
      modify ct_fcat from ls_fcat transporting tabname
                     where tabname ne ls_fcat-tabname.
    endform.                    " f01_alv_set_fcat_slave
    FORM f01_alv_set_layout
    form f01_alv_set_layout changing cs_layout type slis_layout_alv.
    *... Display options
      cs_layout-colwidth_optimize      = con_true.
      cs_layout-no_colhead             = space.
      cs_layout-no_hotspot             = space.
      cs_layout-zebra                  = space.
      cs_layout-no_vline               = space.
      cs_layout-cell_merge             = space.
      cs_layout-no_min_linesize        = space.
      cs_layout-min_linesize           = space.
      cs_layout-max_linesize           = space.
      cs_layout-window_titlebar        = space.
      cs_layout-no_uline_hs            = space.
      cs_layout-no_sumchoice           = space.
      cs_layout-no_totalline           = space.
      cs_layout-totals_before_items    = space.
      cs_layout-totals_only            = space.
      cs_layout-totals_text            = space.
      cs_layout-no_subchoice           = space.
      cs_layout-no_subtotals           = space.
      cs_layout-subtotals_text         = space.
      cs_layout-numc_sum               = space.
      cs_layout-no_unit_splitting      = space.
    *... Interaction
      cs_layout-box_fieldname          = 'BOX'.
      cs_layout-box_tabname            = space.
      cs_layout-box_rollname           = space.
      if gs_test-layo_expand_field eq con_true.
        cs_layout-expand_fieldname       = 'EXPAND'.
      endif.
      cs_layout-hotspot_fieldname      = space.
      cs_layout-f2code                 = space.
      cs_layout-key_hotspot            = space.
      cs_layout-flexible_key           = space.
      cs_layout-reprep                 = space.
      cs_layout-group_buttons          = space.
      cs_layout-no_keyfix              = space.
      cs_layout-get_selinfos           = con_true.
      cs_layout-group_change_edit      = con_true.
      cs_layout-no_scrolling           = space.
      cs_layout-expand_all             = gs_test-layo_expand_all.
    *... Detailed screen
      cs_layout-detail_popup           = space.
      cs_layout-detail_initial_lines   = space.
      cs_layout-detail_titlebar        = space.
    *... PF-status
      cs_layout-def_status             = space.
    *... Display variants
      cs_layout-header_text            = space.
      cs_layout-item_text              = space.
      cs_layout-default_item           = space.
    *... colour
      cs_layout-info_fieldname         = space.
      cs_layout-coltab_fieldname       = space.
    *... others
      cs_layout-list_append            = space.
    endform.                               " F01_ALV_SET_LAYOUT
    *&      Form  f01_alv_set_keyinfo
          text
    form f01_alv_set_keyinfo changing cs_keyinfo type slis_keyinfo_alv.
      cs_keyinfo-header01 = 'EXIDV'.
      cs_keyinfo-item01   = 'EXIDV'.
      cs_keyinfo-header02 = 'BRGEW'."'CARRID'.
      cs_keyinfo-item02   = 'BRGEW'."."'CARRID'.
      cs_keyinfo-header03 = 'VEGR1'."'CONNID'.
      cs_keyinfo-item03   = 'VEGR1'."'CONNID'.
      cs_keyinfo-header04 = space.
      cs_keyinfo-item04   = 'VEGR2'."'FLDATE'.
      cs_keyinfo-header05 = space.
      cs_keyinfo-item05   = space.
    endform.                    " f01_alv_set_keyinfo
    FORM f01_alv_event_pf_status_set
    form f01_alv_event_pf_status_set using rt_extab type slis_t_extab.
                                                                "#EC *
      data: l_event type lvc_fname.                             "#EC NEEDED
      if gs_test-info_popup_once eq con_true.
        read table gs_test-events_info_popup into l_event
                   with key table_line = 'PF_STATUS_SET'.
        if sy-subrc ne 0.
          insert 'PF_STATUS_SET' into gs_test-events_info_popup index 1.
          message i000(0k) with text-t01.
        endif.
      elseif gs_test-no_info_popup eq space.
        message i000(0k) with text-t01.
      endif.
      set pf-status 'STANDARD' excluding rt_extab.
      set titlebar 'STANDARD'.
    endform.                               " F01_ALV_EVENT_PF_STATUS_SET
    *&      Form  F01_ALV_EVENT_BEFORE_LINE_OUTP
          text
    form f01_alv_event_before_line_outp
                          using rs_lineinfo type slis_lineinfo. "#EC *
      data: l_event type lvc_fname.                             "#EC NEEDED
      if gs_test-info_popup_once eq con_true.
        read table gs_test-events_info_popup into l_event
                   with key table_line = 'BEFORE_LINE_OUTPUT'.
        if sy-subrc ne 0.
          insert 'BEFORE_LINE_OUTPUT' into gs_test-events_info_popup
                                      index 1.
          message i000(0k) with text-t05.
        endif.
      elseif gs_test-no_info_popup eq space.
        message i000(0k) with text-t05.
      endif.
      format color off
             intensified off
             inverse off
             hotspot off
             input off.
      if rs_lineinfo-tabname eq 'GT_MASTER'.
        if
       gs_master-exidv ne gt_master-exidv or
           gs_master-brgew ne gt_master-brgew.
          write: / text-t05.
          write: /
         gt_master-exidv,
                   gt_master-brgew.
          gs_master = gt_master.
        endif.
        if gs_test-selected_recs_m eq rs_lineinfo-tabindex.
          clear gs_master.
        endif.
      endif.
    endform.                               " F01_ALV_EVENT_BEFORE_LINE_OUTP
    *&      Form  f01_alv_get_outtab
          text
    form f01_alv_get_outtab .
      field-symbols: .
       select
       exidv BRGEW VEGR1
        TARAG NTgew  meabm  BREIT HOEHE  VEGR2 VSTEL weRKS
                           from
                          (con_vekp) into corresponding fields of table
                           lt_slave up to gs_test-select_amount rows
                           where
                          exidv eq <ls_master>-exidv and
                           brgew eq -vegr1.
    append lines of lt_slave to gt_slave.
    endloop.
      sort gt_slave by exidv brgew vegr1.
    endif.
      describe table gt_master lines gs_test-selected_recs_m.
      describe table gt_slave  lines gs_test-selected_recs_s.
      clear gt_master.
      clear gt_slave.
    endform.                    " f01_alv_get_outtab
    *&      Module  d1001_pbo  OUTPUT
          text
    module d1001_pbo output.
    perform d1001_pbo.
    endmodule.                 " d1001_pbo  OUTPUT
    *&      Module  d1001_pai  INPUT
          text
    module d1001_pai input.
    perform d1001_pai.
    endmodule.                 " d1001_pai  INPUT

  • IT0002 New Infotype Framework with Secondary Infotype Short Dump

    In our new ERP 6.0 system, we are seeing a short dump, ASSIGN_BASE_TOO_SHORT  in CL_HRPA_INFOTYPE_0002_BE when hiring a Belgium employee.  It appears in the new Framework, the SPECIFIC_INITIAL_COMPUTATIONS method of CL_HRPA_INFOTYPE_0002_BE is expecting there to already be data in IT0108 (secondary infotype for Belgium IT0002).  However, during a hire, this data has not been filled yet.  That will be done during the processing of the IT0002 itself.
    I looked into IT0021 for the US, where IT0106 is a secondary infotype and the issue isn't present.  The code in the SPECIFIC_INITIAL_COMPUTATIONS of CL_HRPA_INFOTYPE_0021_US is written entirely different without the use of field symbols, so maybe it is a coding issue?
    Has anyone else run into this issue, or know if we are possibly missing configuration that would keep this issue from happening?

    Suresh,
    Yes, we have seen that note, and we have those changes implemented.  We are still having an issue.  The issue is related to any IT0002 with a secondary infotype so that includes Belgium, Brazil, Korea just to name a few.
    It appears the PNNNN2 structure within the SPECIFIC_INITIAL_COMPUTATIONS method is null (because it hasn't been created yet), and that is causing the short dump.  I can't believe this is working as expected because there is no way the IT0108 can be assumed to have a value in it, or you could never hire anyone.
    Bob

  • Short dump when trying to see the text elements of main window

    Hi ,
            The form is running properly in 4.7 c . But when the same is copied in ECC5.0 (unicode) , i 'm getting short dump while trying to see the TEXT ELEMENTS .
                    The message is like ' trying to create a field with zero length'.
    Regards,
    Jytoi.

    hi
    I've never worked on ECC 5.0 version..however, I can only tell u that this could be the issue that code written in 4.7 may not be supported in 5.0..so try to get a good idea of ECC 5.0 before u start coding in this..
    regards,
    shamim

  • Short dump 'Table does not exist in database'

    Hello All,
    When a report is executing it is going to short dump by saying 'Table does not exist in database'. As per the short dump analysis this issue is happening because of the following   Native SQL statement statement :
    Program :  %_T050N0 (This is a dynamic  program generating by SAP )
    Form Name :  DYN_LIC_SEL_TOT
    exec sql performing LOOP_MOVE_WRITE_ISAP.
    select single_plate, itm_num, ctry_code, model_lot,
    lic_hold_flg, qty into :dcat-lplate, :dcat-matnr,
    :dcat-werks, :dcat-charg, :dcat-holdflag,
    :dcat-qty from ZLICENSE_R2 where itm_num   = :p_matnr and
                    model_lot = :p_charg
    endexec.
    As per the customer this issue occurring since they migrated the SAP  back-end data base from Oralce to DB6. Here I felt that ZLICENSE_R2 is not migrated from the  Oracle to DB6. But as per the BASIS Team, even this table was not maintained in Oracle also. If the table was not maintained in the Oracle, this issue should have been there even before migration also.
    Following is the short dump details:
    Short text
        Table does not exist in database.
    What happened?
        The table or view name used does not
        exist in the database.
        The error occurred in the current database connection "DEFAULT".
    What can you do?
        Check the spelling of the table names in your report.
        Note down which actions and inputs caused the error.
        To process the problem further, contact you SAP system
        administrator.
        Using Transaction ST22 for ABAP Dump Analysis, you can look
        at and manage termination messages, and you can also
        keep them for a long time.
    Error analysis
        An exception occurred that is explained in detail below.
        The exception, which is assigned to class 'CX_SY_NATIVE_SQL_ERROR', was not
         caught in
       procedure "DYN_LIC_SEL_TOT" "(FORM)", nor was it propagated by a RAISING
    clause.
    Since the caller of the procedure could not have anticipated that the
    exception would occur, the current program is terminated.
    The reason for the exception is:
    Triggering SQL statement: "select single_plate, itm_num, ctry_code, model_lot,
    lic_hold_flg, qty from ZLICENSE_R2 where itm_num = ? and model_lot = ? "
    Database error code: "-204"
    Could you please  let me know what might be the reason for this issue.
    Many Thanks in Advance.

    Transaction SE11, input ZLICENSE_R2 for table name, and display the table. Did the table display? If not, that is the main problem.
    If the table displays, go to menu item Utilities -> Database Object -> Database Utility
    In the resulting screen, under the "Status" fields, you should see text "Exists in the database." If you don't, then the table exists in the dictionary, but doesn't exist in the database system. Click the "Create database table" button and then you should be able to run the program.
    You may need basis team's help to carryout some of these actions.

  • SHORT DUMP WHILE EXECUTING DTP.

    Hi Gurus,
    I have got a short dump while executing DTP the Error is as Follows.
    Runtime Error: MESSAGE_TYPE_X.
    Reasons for Error: 1.The installation of the SAP GUI on the present server is faulty or obselete
    2.There is a error in the application program
    And i have sent the sreen shot of the Short Dump to BASIS TEAM and they have replied me that they have to install some patches and it will take some time.
    But i have no much time and i have to someway or the other execute the DTP and load the data.
    Is there any shortcuts for this i mean to say without the involvement of Basis team that i can do in th BI System
    Regards
    Amar.

    Hi Amar,
    If the problem is with with System itself, how can we all have a short cut in that case. You may give it another trial, but you have to wait for the patches to be applied. Ask your basis team to get it done ASAP.
    Thanks..
    Shambhu

  • Custom error message in user exit is giving Short dump

    Hi All,
    We have a scenario where in if any user try to create/Change/Delete particular types of contract in SAP system we have to issue error message
    saying ZIN/ZIR contract creation/Change/Deletion is blocked in SAP. This has to be done from the web application. So we are putting below code
    in user exit MV45AFZZ in the form USEREXIT_SAVE_DOCUMENT_PREPARE.
    CONSTANTS: lc_vbcpic01 TYPE sy-uname VALUE u2018VBCPIC01u2019, u201CWeb application user ID
             lc_zin           TYPE vbak-auart VALUE u2018ZINu2019,
                         lc_zir            TYPE vbak-auart VALUE u2018ZIRu2019,
                         lc_text(32)    TYPE c VALUE u2018Check long text for more detailsu2019.
    DATA: l_uname TYPE sy-uname.
    CLEAR: l_uname.
    MOVE sy-uname TO l_uname.
    *If user ID is not the Web application ID then block the creation/Change/Deletion
    IF   l_uname NE lc_vbcpic01
    AND ( vbak-auart EQ lc_zin
    OR    vbak-auart EQ lc_zir ).
    MESSAGE e830(zv) WITH lc_text.
    ENDIF.
    This code is working fine while creating/Changing the contract i.e. Giving us error message so that user wonu2019t be able to create/change the contract.
    But when we delete the contract from VA42, Control is coming to this message statement and is giving Short dump. Below is the error analysis of the dump.
    Error Analysis:
    During "Exit Command" processing, the program tried to send a " " message.
    This is not allowed at this point in processing.
    The program had to be terminated.
    Screen name.............. "SAPMV45A"
    Screen number............ 4001
    If any one has come across such scenario/any work around for this problem please let me know your inputs. Your inputs are highly appreciated.
    I am working on 4.6C version of SAP.
    Note: When i issue information/Warning message contract is getting deleted after displaying the message.
    Thanks,
    Vinod.

    I exactly replicated the same in DELETE_DOCUMENT also
    I am getting the Dump. I tried with exit also , but it continued and deleted. To avoid deletion we have to use Leave program or LEAVE TO CURRENT TRANSACTION.
    Delete Function is Defined as EXIT command. so it is not possible to give error message. To convice you i just copied demo program and raised the error message.
    it is also giving the dump.
    copy the demo program DEMO_DYNPRO_AT_EXIT_COMMAND and make this change , information to error .
    MODULE cancel INPUT.
      MESSAGE e888(sabapdocu) WITH text-001 ok_code input1 input2.
      IF ok_code = 'CANCEL'.
        CLEAR ok_code.
        LEAVE PROGRAM.
      ENDIF.
    ENDMODULE.
    and see...

Maybe you are looking for

  • Password in PDF?

    hi, I am using c # net 2005. How I can record a pdf with password? It has some example? It is possible to do it? Thanks

  • How come I can't open a photo in CS6?

    That message shows up when I try to open an image, but I can successfully open a picture, just not the same one. What can I do to fix this?

  • How to protect my images

    Hi, Here is my web app file structure: Tomact Webapps MyApp WEB-INF jsp >>>>>> 1.jsp >>>>>>2.jsp To protect my jsps from direct access from users, I put them under WEB-INF. Here is my 1.jsp <html> <body> <img src="1.jpg"/> <img src="2.jpg"/> </body>

  • Balance of any gl should not go below zero

    hi friends, what is the configurations required to control a gl going below when we post any expenses. Edited by: prashanth ragi on Jan 28, 2009 10:11 AM

  • Helpful Tip - Forgot Device Password....

    This is just a helpful post for a user that doesn't know the best methods to get your device working again without hard resetting device because they forgot their systems password for their device.  The following video is a method that has worked for