Quantcast
Channel: SCN : All Content - All Communities
Viewing all articles
Browse latest Browse all 8894

move statement issue

$
0
0

The move statement below can't work, any wrong with the code?

 

 

REPORT  ZTESTING_CHHO.

TABLES: KNA1,KNVV,TVKOT.

 

 

*--------------------------------------------------------------*

*Data Declaration

*--------------------------------------------------------------*

TYPE-POOLS: slis.                   "ALV Global types

 

 

DATA:

  BEGIN OF it_output OCCURS 0,

        KUNNR TYPE KNA1-KUNNR,

        NAME1 TYPE KNA1-NAME1,

        NAME2 TYPE KNA1-NAME2,

        STRAS TYPE KNA1-STRAS,

        ZTERM TYPE KNVV-ZTERM,

        VKORG TYPE KNVV-VKORG,

        VTWEG TYPE KNVV-VTWEG,

        SPART TYPE KNVV-SPART,

  END OF it_output,

 

 

  gt_list_top_of_page TYPE slis_t_listheader,"to print header/footer

  gt_list_btm_of_page TYPE slis_t_listheader,"to print header/footer

  gt_events           TYPE slis_t_event,

  gs_layout           TYPE slis_layout_alv,"column width optimize, alternate colors, subtotal text...

  gt_fieldcat         TYPE slis_t_fieldcat_alv."field catalog for internal table

 

 

*--------------------------------------------------------------*

*Selection-Screen

*--------------------------------------------------------------*

 

 

SELECT-OPTIONS: C_Code FOR KNA1-KUNNR.

 

 

AT SELECTION-SCREEN.

IF sy-ucomm = 'ONLI'.

  PERFORM validate_mandatory.

  ENDIF.

 

 

*----------------------------------------------------------------------*

* Start of selection

*----------------------------------------------------------------------*

START-OF-SELECTION.

*-----------------*

  PERFORM progress USING 20 'Retrieving Data'.

  PERFORM get_data.

 

 

*----------------------------------------------------------------------*

* End of selection

*----------------------------------------------------------------------*

END-OF-SELECTION.

*---------------*

 

 

  PERFORM progress USING 60 'Preparing Data'.

  PERFORM build."Build the fields for ALV display

  PERFORM eventtab_build CHANGING gt_events.

  PERFORM comment_build  CHANGING gt_list_top_of_page.

  PERFORM comment_build_btm  CHANGING gt_list_btm_of_page.

  PERFORM call_alv.

 

 

*&---------------------------------------------------------------------*

*&      Form  validate_field

*&---------------------------------------------------------------------*

*----------------------------------------------------------------------*

FORM validate_mandatory .

    IF C_Code[] IS INITIAL.

      MESSAGE E014(ZMSG) WITH 'Please insert customer code.'.

    ENDIF.

ENDFORM.                    " validate_field

*&---------------------------------------------------------------------*

 

 

*---------------------------------------------------------------------*

*       FORM comment_build_btm

*---------------------------------------------------------------------*

* Summary of the list for ALV display

*---------------------------------------------------------------------*

FORM comment_build_btm CHANGING gt_btm_of_page TYPE slis_t_listheader.

  DATA: gs_line TYPE slis_listheader.

 

 

  CLEAR gs_line.

  gs_line-typ = 'S'.

  gs_line-info = 'End of report'.

  APPEND gs_line TO gt_btm_of_page.

 

 

ENDFORM.                    "comment_build_btm

 

 

*----------------------------------------------------------------------*

*       FORM call_alv

*----------------------------------------------------------------------*

*       Display of ALV screen

*----------------------------------------------------------------------*

 

 

FORM call_alv.

 

 

  PERFORM progress USING 80 'Generating ALV Grid Display'.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

    EXPORTING

      i_callback_program = sy-cprog

      is_layout          = gs_layout

      it_fieldcat        = gt_fieldcat[]

      i_save             = 'A'

      it_events          = gt_events[]

    TABLES

      t_outtab           = it_output

    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.                    "call_alv

 

 

*---------------------------------------------------------------------*

*       FORM comment_build

*---------------------------------------------------------------------*

* Header of the page for ALV display using information from selection

*---------------------------------------------------------------------*

FORM comment_build CHANGING gt_top_of_page TYPE slis_t_listheader.

  DATA: gs_line TYPE slis_listheader.

  DATA: l_datum(10)  TYPE c,          "Date

        l_datumh(10) TYPE c,          "Date High

    l_DBCNT(10)  TYPE c,      "Record Count

        l_uzeit(8)   TYPE c,          "Time

        l_psphi      LIKE prps-posid, "Project Code

        l_psphih     LIKE prps-posid. "Project Code High

 

 

  CLEAR gs_line.

  gs_line-typ = 'H'.

  gs_line-info = 'Assignment 3'.

  APPEND gs_line TO gt_list_top_of_page.

 

 

  IF NOT C_Code IS INITIAL.

    CLEAR gs_line.

    gs_line-typ = 'S'.

    gs_line-key = 'Customer Code: '.

    IF NOT C_Code-high IS INITIAL.

      CONCATENATE C_Code-low 'to' C_Code-high INTO gs_line-info

        SEPARATED BY space.

    ELSE.

      gs_line-info = C_Code-low.

    ENDIF.

    IF NOT gs_line-info IS INITIAL.

      APPEND gs_line TO gt_list_top_of_page.

    ENDIF.

  ENDIF.

 

 

  CLEAR gs_line.

  gs_line-typ = 'A'.

  CONCATENATE 'Client/System/User' ':' sy-mandt '/' sy-sysid

  '/' sy-uname

    INTO gs_line-info SEPARATED BY space.

  APPEND gs_line TO gt_list_top_of_page.

 

 

  CLEAR gs_line.

  gs_line-typ = 'A'.

  WRITE: sy-datlo TO l_datum,

         sy-timlo TO l_uzeit.

  CONCATENATE 'Date' ':' l_datum

  INTO gs_line-info SEPARATED BY space.

  APPEND gs_line TO gt_list_top_of_page.

  CONCATENATE 'Time' ':' l_uzeit

  INTO gs_line-info SEPARATED BY space.

  APPEND gs_line TO gt_list_top_of_page.

 

 

  CLEAR gs_line .

  WRITE: SY-DBCNT TO l_DBCNT.

 

 

  IF L_DBCNT <> 0 .

    gs_line-typ = 'A'.

    CONCATENATE 'Number of records found = ' l_DBCNT

    INTO gs_line-info SEPARATED BY space.

    ELSE .

     gs_line-typ = 'A'.

     gs_line-info = 'No records found, please enter a valid customer code'.

  ENDIF .

  APPEND gs_line TO gt_list_top_of_page.

 

 

ENDFORM.                    "comment_build

 

 

*---------------------------------------------------------------------*

*       FORM eventtab_build

*---------------------------------------------------------------------*

*       Build event for ALV Display

*---------------------------------------------------------------------*

FORM eventtab_build CHANGING lt_events TYPE slis_t_event.

  CONSTANTS:

  gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE'.

  DATA: ls_event TYPE slis_alv_event.

  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

    EXPORTING

      i_list_type     = 0

    IMPORTING

      et_events       = lt_events

    EXCEPTIONS

      list_type_wrong = 1

      OTHERS          = 2.

  IF sy-subrc NE 0.

    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

  ENDIF.

  READ TABLE lt_events WITH KEY name =  slis_ev_top_of_page

                           INTO ls_event.

  IF sy-subrc = 0.

    MOVE gc_formname_top_of_page TO ls_event-form.

    APPEND ls_event TO lt_events.

  ENDIF.

 

 

  clear ls_event.

  ls_event-name = 'END_OF_LIST'.

  ls_event-form = 'END_OF_REPORT'.

  APPEND ls_event TO lt_events.

 

 

ENDFORM.                    "eventtab_build

 

 

*---------------------------------------------------------------------*

*       FORM top_of_page

*---------------------------------------------------------------------*

*       Top of the page for ALV display

*---------------------------------------------------------------------*

FORM top_of_page.

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

    EXPORTING

      it_list_commentary = gt_list_top_of_page

      i_logo             = 'SSG_LOGO'.

ENDFORM.                    "top_of_page

 

 

 

 

*&---------------------------------------------------------------------*

*&      Form  end_of_report

*&---------------------------------------------------------------------*

*       Write summary before exit

*----------------------------------------------------------------------*

FORM end_of_report .

 

 

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

    EXPORTING

      it_list_commentary = gt_list_btm_of_page.

 

 

ENDFORM.

 

 

*---------------------------------------------------------------------*

*       FORM build                                                    *

*---------------------------------------------------------------------*

*       Build the fields for ALV display

*---------------------------------------------------------------------*

FORM build.

 

DATA: fieldcat_ln TYPE slis_fieldcat_alv.

 

  DEFINE m_fieldcat.

    add 1 to fieldcat_ln-col_pos.

    clear fieldcat_ln.

    fieldcat_ln-fieldname   = &1.

    fieldcat_ln-tabname     = 'IT_OUTPUT'.

    fieldcat_ln-do_sum      = &2.

    fieldcat_ln-cfieldname  = &3.

    fieldcat_ln-no_out      = &4.

    fieldcat_ln-seltext_m   = &5.

    fieldcat_ln-outputlen   = &6.

    append fieldcat_ln to gt_fieldcat.

  END-OF-DEFINITION.

 

 

  m_fieldcat 'KUNNR' '' '' ' '    'Customer Code' ''.

  m_fieldcat 'NAME1' '' '' ' '    'Customer Name 1' ''.

  m_fieldcat 'NAME2' '' '' ' '    'Customer Name 2' ''.

  m_fieldcat 'STRAS' '' '' ' '    'Customer Address' ''.

  m_fieldcat 'ZTERM' '' '' ' '    'Payment Term' ''.

  m_fieldcat 'VKORG' '' '' ' '    'Sales Organization' ''.

  m_fieldcat 'VTWEG' '' '' ' '    'Distribution Channel' ''.

  m_fieldcat 'SPART' '' '' ' '    'Division' ''.

 

 

 

 

ENDFORM.                    "build

 

 

*&---------------------------------------------------------------------*

*&      Form  progress

*&---------------------------------------------------------------------*

*       Display Progress bar

*----------------------------------------------------------------------*

FORM progress USING    per

                       text.

  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'

    EXPORTING

      percentage = per

      text       = text.

ENDFORM.                    " progress

 

 

*&---------------------------------------------------------------------*

*&      Form  get_proj

*&---------------------------------------------------------------------*

*       Get proj

*----------------------------------------------------------------------*

FORM get_data.

 

  TYPES:

      BEGIN OF ity_MAIN,

        KUNNR TYPE KNA1-KUNNR,

        NAME1 TYPE KNA1-NAME1,

        NAME2 TYPE KNA1-NAME2,

        STRAS TYPE KNA1-STRAS,

        ZTERM TYPE KNVV-ZTERM,

        VKORG TYPE KNVV-VKORG,

        VTWEG TYPE KNVV-VTWEG,

        SPART TYPE KNVV-SPART,

      END OF ity_MAIN.

     

DATA: it_MAIN TYPE STANDARD TABLE OF ity_MAIN WITH HEADER LINE.

 

 

  SELECT KNA1~KUNNR KNA1~NAME1 KNA1~NAME2 KNA1~STRAS KNVV~ZTERM KNVV~VKORG KNVV~VTWEG KNVV~SPART

  FROM KNA1 INNER JOIN KNVV

  ON KNA1~KUNNR = KNVV~KUNNR

  INTO CORRESPONDING FIELDS OF TABLE it_MAIN

  WHERE KNA1~KUNNR IN C_Code.

   

  MOVE: it_MAIN-KUNNR  TO it_output-KUNNR.

        it_MAIN-NAME1 TO it_output-NAME1,

        it_MAIN-NAME2 TO it_output-NAME2,

        it_MAIN-STRAS TO it_output-STRAS,

        it_MAIN-ZTERM TO it_output-ZTERM,

        it_MAIN-VKORG TO it_output-VKORG,

        it_MAIN-VTWEG TO it_output-VTWEG,

        it_MAIN-SPART TO it_output-SPART.

 

 

 

 

ENDFORM.                    " get_proj


Viewing all articles
Browse latest Browse all 8894

Trending Articles