cancel
Showing results forĀ 
Search instead forĀ 
Did you mean:Ā 
Read only

Short Dump while executing report for selecting perticular record whenver we click on check box

Aniket2
Discoverer
0 Likes
301

Hii,

I have written program to display barcode based on material number 

1. The report will execute and user click on the checkbox and click on the barcode icon, then that particular record should be printed but the logic, I have written because of that my program is going to DUMP give me the suggestion. 

PF Code.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS S_MBLNR FOR MSEG-MBLNR,
                 S_BUDAT FOR MSEG-BUDAT_MKPF.

SELECTION-SCREEN END OF BLOCK b1.

START-OF-SELECTION.

  PERFORM fetch.
  PERFORM loop.
 PERFORM fcat1.
  PERFORM call.
*&---------------------------------------------------------------------*
*& Form FETCH
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM FETCH .

  SELECT MBLNR
         BUDAT_MKPF
         MJAHR
         ZEILE
         MATNR
         MENGE FROM MSEG INTO TABLE IT_MSEG WHERE MBLNR IN S_MBLNR AND BUDAT_MKPF IN S_BUDAT AND BWART IN '101' '561' AND WERKS '1130' AND LGORT '1092'.

IF IT_MSEG IS NOT INITIAL.
    SELECT MATNR
           MAKTG FROM MAKT INTO TABLE IT_MAKT FOR ALL ENTRIES IN IT_MARA WHERE MATNR IT_MARA-MATNR.

 SELECT MATNR
*        MAKTG
       FROM MARA INTO TABLE IT_MARA FOR ALL ENTRIES IN IT_MSEG WHERE MATNR IT_MSEG-MATNR.
ELSE.
  MESSAGE 'No process allowed' TYPE 'E'.
ENDIF.


    ENDFORM.
*&---------------------------------------------------------------------*
*& Form LOOP
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM LOOP .

  LOOP AT IT_MSEG INTO WA_MSEG.

    WA_FINAL-MBLNR WA_MSEG-MBLNR.
    WA_FINAL-BUDAT WA_MSEG-BUDAT.
    WA_FINAL-MJAHR WA_MSEG-MJAHR.
    WA_FINAL-ZEILE WA_MSEG-ZEILE.
    wa_final-matnr WA_MSEG-MATNR.
    wa_final-MENGE WA_MSEG-MENGE.

   READ TABLE IT_MAKT INTO WA_MAKT WITH KEY MATNR WA_FINAL-MATNR.


    wa_final-matnr WA_MAKT-MATNR.
    WA_FINAL-MAKTG WA_MAKT-MAKTG.

   READ TABLE IT_MARA INTO WA_MARA WITH KEY MATNR WA_FINAL-MATNR.

*   IF SY-SUBRC = 0.

    WA_FINAL-MATNR WA_MARA-MATNR.

*   ENDIF.


  APPEND wa_final TO it_final.
    CLEAR wa_final.
    ENDLOOP.
    MOVE-CORRESPONDING it_final to it_fin.


ENDFORM.

DATA fm_name TYPE  rs38l_fnam.
DATA it_control_p TYPE ssfctrlop.
DATA it_output_op TYPE ssfcompop.
DATA wa_joi TYPE SSFCRESCL.
*&---------------------------------------------------------------------*
*& Form FCAT1
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM FCAT1 .

  PERFORM fcat USING  'MATNR' '1' 'IT_FINAL' 'MATERIAL NUMBER' ' '.
    PERFORM fcat USING 'MAKTG' '2' 'IT_FINAL' 'MATERIAL DESCRIPTION' ''.
    PERFORM fcat USING 'BUDAT' '5' 'IT_FINAL' 'Date of the GRN number' ''.
    PERFORM fcat USING 'MBLNR' '4' 'IT_FINAL' 'Grn number' ''.
  PERFORM fcat USING  'SEL' '3' 'IT_FINAL' 'CHECKBOX' 'X' " 'X'.


ENDFORM.


FORM fcat  USING    VALUE(P_FIELD)
                    VALUE(P_POS)
                    VALUE(P_TAB)
                    VALUE(P_TEXT)
                    VALUE(P_EDIT).

  WA_FCAT-FIELDNAME P_FIELD.
  WA_FCAT-COL_POS P_POS.
  WA_FCAT-TABNAME P_TAB.
  WA_FCAT-SELTEXT_M P_TEXT.
   WA_FCAT-EDIT     P_EDIT.
   WA_FCAT-no_zero    'X'.
  IF P_FIELD 'SEL'.
    WA_FCAT-CHECKBOX  'X'.
    WA_FCAT-INPUT 'X'.
    WA_FCAT-edit       abap_true.
  ENDIF.



  APPEND wa_fcat TO it_fcat.

  CLEAR wa_fcat.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form CALL
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM CALL .
  gt_layout-zebra                'X'.
  gt_layout-detail_popup         'X'.
  gt_layout-detail_initial_lines 'X'.
  gt_layout-colwidth_optimize    'X'.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
*     I_INTERFACE_CHECK                 = ' '
*     I_BYPASSING_BUFFER                = ' '
*     I_BUFFER_ACTIVE                   = ' '
     I_CALLBACK_PROGRAM                'ZMIGO_BARCODE_CR'
     I_CALLBACK_PF_STATUS_SET          'PF_STATUS'
     I_CALLBACK_USER_COMMAND           'USE_COMM'
*     I_CALLBACK_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                         gt_layout
     IT_FIELDCAT                       IT_FCAT
*     IT_EXCLUDING                      =
*     IT_SPECIAL_GROUPS                 =
*     IT_SORT                           =
*     IT_FILTER                         =
*     IS_SEL_HIDE                       =
*     I_DEFAULT                         = 'X'
*     I_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        =
*     O_PREVIOUS_SRAL_HANDLER           =
*   IMPORTING
*     E_EXIT_CAUSED_BY_CALLER           =
*     ES_EXIT_CAUSED_BY_USER            =
    TABLES
      T_OUTTAB                          IT_FINAL
   EXCEPTIONS
     PROGRAM_ERROR                     1
     OTHERS                            2
            .
  IF SY-SUBRC <> 0.
* Implement suitable error handling here
  ENDIF.
ENDFORM.


  FORM PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.
  SET PF-STATUS 'BARCODE'.
  ENDFORM.




FORM USE_COMM USING R_UCOMM LIKE SY-UCOMM
                            RS_SELFIELD TYPE SLIS_SELFIELD.



if r_ucomm 'BARCODE'.

*
*CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
*  EXPORTING
*    FORMNAME                 = 'ZMIGO_BAR_CR'
*   VARIANT                  = ' '
*   DIRECT_CALL              = ' '
* IMPORTING
*   FM_NAME                  = FM_NAME
* EXCEPTIONS
*   NO_FORM                  = 1
*   NO_FUNCTION_MODULE       = 2
*   OTHERS                   = 3
*          .
*IF SY-SUBRC <> 0.
** Implement suitable error handling here
*ENDIF.
*
*CALL FUNCTION FM_NAME
*  EXPORTING
**   ARCHIVE_INDEX              =
**   ARCHIVE_INDEX_TAB          =
**   ARCHIVE_PARAMETERS         =
*   CONTROL_PARAMETERS         = control_parameters
**   MAIL_APPL_OBJ              =
**   MAIL_RECIPIENT             =
**   MAIL_SENDER                =
*   OUTPUT_OPTIONS             = output_options
*   USER_SETTINGS              = 'X'
**    BARCODE                    =
*    S_MATNR                    = s_MATNR
** IMPORTING
**   DOCUMENT_OUTPUT_INFO       =
**   JOB_OUTPUT_INFO            =
**   JOB_OUTPUT_OPTIONS         =
* EXCEPTIONS
*   FORMATTING_ERROR           = 1
*   INTERNAL_ERROR             = 2
*   SEND_ERROR                 = 3
*   USER_CANCELED              = 4
*   OTHERS                     = 5
*          .
*IF SY-SUBRC <> 0.
** Implement suitable error handling here
**ENDIF.
    DATA ref_grid TYPE REF TO cl_gui_alv_grid"new
    IF ref_grid IS INITIAL.
      CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
      IMPORTING
        e_grid ref_grid.
    ENDIF.
    IF ref_grid IS BOUND.
        CALL METHOD ref_grid->CHECK_CHANGED_DATA.
    ENDIF.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
  EXPORTING
    FORMNAME                 'ZMIGO_BAR_CR'
*   VARIANT                  = ' '
*   DIRECT_CALL              = ' '
 IMPORTING
   FM_NAME                  fm_name
 EXCEPTIONS
   NO_FORM                  1
   NO_FUNCTION_MODULE       2
   OTHERS                   3
          .
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.

**    DATA: job_output_info TYPE ssfcrescl,
**          otf             TYPE TABLE OF itcoo,
**          lv_otf          TYPE xstring,
**          lv_filesize     TYPE i,
**          lt_lines        TYPE tlinetab.

*CALL FUNCTION fm_name  "'/1BCDWB/SF00000397'
*  EXPORTING
**   ARCHIVE_INDEX              =
**   ARCHIVE_INDEX_TAB          =
**   ARCHIVE_PARAMETERS         =
*   CONTROL_PARAMETERS         = control_parameters
**   MAIL_APPL_OBJ              =
**   MAIL_RECIPIENT             =
**   MAIL_SENDER                =
*   OUTPUT_OPTIONS             = output_options
*
*    barcode_num              = ls_serial-sernr
*        matnr                = ls_serial-matnr
**  USER_SETTINGS              = 'X'
**    S_MATNR1                    = MSEG-MATNR
* IMPORTING
*      job_output_info    = job_output_info
**   DOCUMENT_OUTPUT_INFO       =
**  JOB_OUTPUT_INFO            =
**  JOB_OUTPUT_OPTIONS         =
* EXCEPTIONS
*   FORMATTING_ERROR           = 1
*   INTERNAL_ERROR             = 2
*   SEND_ERROR                 = 3
*   USER_CANCELED              = 4
*   OTHERS                     = 5
*          .
*IF SY-SUBRC <> 0.
** Implement suitable error handling here
*ENDIF.
    L_CONTROL-NO_OPEN 'X'.
    L_CONTROL-NO_CLOSE 'X'.
    L_CONTROL-NO_DIALOG 'X'.
    L_CONTROL-PREVIEW 'X'.
    L_CONTROL-GETOTF 'X'.

    L_OUTPUT-TDDEST 'LP01'.
    L_OUTPUT-TDNOPRINT ' '.
    L_OUTPUT-TDIMMED 'X'.
    L_OUTPUT-TDGROUP 'X'.
    CALL FUNCTION 'SSF_OPEN'
    EXPORTING
      USER_SETTINGS      ' '
*      MAIL_SENDER        =
*      MAIL_RECIPIENT     =
*      MAIL_APPL_OBJ      =
      OUTPUT_OPTIONS     L_OUTPUT
      CONTROL_PARAMETERS L_CONTROL
    EXCEPTIONS
      FORMATTING_ERROR   1
      INTERNAL_ERROR     2
      SEND_ERROR         3
      USER_CANCELED      4
      OTHERS             5.

READ TABLE it_fin INTO WA_FIN INDEX 1.
DATA LV_QTY TYPE MSEG-MENGE.
DATA LV_QTY1(2TYPE N.

LV_QTY WA_FIN-MENGE.

DO LV_QTY TIMES.
      L_CONTROL-NO_OPEN 'X'.
      L_CONTROL-NO_CLOSE 'X'.
      L_CONTROL-NO_DIALOG 'X'.
      L_CONTROL-PREVIEW 'X'.
      L_CONTROL-GETOTF 'X'.

      L_OUTPUT-TDDEST 'LP01'.
      L_OUTPUT-TDNOPRINT ' '.
      L_OUTPUT-TDIMMED 'X'.
      L_OUTPUT-TDGROUP 'X'.
*LV_QTY1 = LV_QTY1 + 1.
CALL FUNCTION '/1BCDWB/SF00000397'
  EXPORTING
*   ARCHIVE_INDEX              =
*   ARCHIVE_INDEX_TAB          =
*   ARCHIVE_PARAMETERS         =
        CONTROL_PARAMETERS         L_CONTROL
*   MAIL_APPL_OBJ              =
*   MAIL_RECIPIENT             =
*   MAIL_SENDER                =
        OUTPUT_OPTIONS             L_OUTPUT
        USER_SETTINGS              'X'
*    LV_QTY1                    = LV_QTY1
      IMPORTING
*   DOCUMENT_OUTPUT_INFO       =
        JOB_OUTPUT_INFO            =  wa_joi
*   JOB_OUTPUT_OPTIONS         =
      TABLES
        IT_FINAL                   it_fin
* EXCEPTIONS
*   FORMATTING_ERROR           = 1
*   INTERNAL_ERROR             = 2
*   SEND_ERROR                 = 3
*   USER_CANCELED              = 4
*   OTHERS                     = 5
        .
      IF SY-SUBRC <> 0.
* Implement suitable error handling here
      ENDIF.

ENDDO.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Accepted Solutions (0)

Answers (0)