Thursday, 19 March 2015




REPORT  ZRQ1.

TYPES:
BEGIN OF ty_alv,
  lights(1) TYPE c, "Exception, Holding the value of the lights
  text(20) TYPE c, "some text
END OF ty_alv.

DATA: gs_alv TYPE ty_alv,
      gt_alv TYPE TABLE OF ty_alv,
      gr_alv TYPE REF TO cl_salv_table,
      gr_columns TYPE REF TO cl_salv_columns_table.

START-OF-SELECTION.
  gs_alv-lights = '1'. "Color red
  gs_alv-text = 'RED SIGNAL'.
  APPEND gs_alv TO gt_alv.
  gs_alv-lights = '2'. "Color yellow
  gs_alv-text = 'YELLOW SIGNAL'.
  APPEND gs_alv TO gt_alv.
  gs_alv-lights = '3'. "Color green
  gs_alv-text = 'GREEN SIGNAL'.
  APPEND gs_alv TO gt_alv.

  CALL METHOD cl_salv_table=>factory
    IMPORTING
      r_salv_table = gr_alv
    CHANGING
      t_table      = gt_alv.

  gr_columns = gr_alv->get_columns( ).
  gr_columns->set_exception_column( value = 'LIGHTS' ).
  CALL METHOD gr_alv->display.
        


*&---------------------------------------------------------------------*
*& Report  ZRQ3
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZRQ3.


TABLES:pa0008.
TYPE-POOLS:slis.
TYPES:BEGIN OF ty_pa0008,
  pernr LIKE pa0008-pernr,
  begda LIKE pa0008-begda,
  endda LIKE pa0008-endda,
  ansal LIKE pa0008-ansal,
  lga01 LIKE pa0008-lga01,
  bet01 LIKE pa0008-bet01,
END OF ty_pa0008.
DATA: it_pa0008 TYPE STANDARD TABLE OF ty_pa0008 WITH HEADER LINE.
DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
      wa_fieldcat TYPE slis_fieldcat_alv,
      it_layout TYPE slis_layout_alv,
      wa_events TYPE slis_alv_event,
      it_events TYPE slis_t_event.

START-OF-SELECTION.
  PERFORM getd_data.
  PERFORM disp_alv.
*&---------------------------------------------------------------------*
*& Form getD_data
*----------------------------------------------------------------------*
FORM getd_data .
  SELECT pernr
          begda
          endda
          ansal
          lga01
          bet01
    FROM pa0008
    INTO TABLE it_pa0008
    UP TO 10 ROWS .
  SORT it_pa0008 BY pernr begda DESCENDING.
ENDFORM. " getD_data
*&---------------------------------------------------------------------*
*& Form disp_alv
*----------------------------------------------------------------------*
FORM disp_alv .
  wa_fieldcat-fieldname = 'PERNR'.
  wa_fieldcat-reptext_ddic = 'Personnel no'.
  APPEND wa_fieldcat TO it_fieldcat.
  CLEAR wa_fieldcat.
  wa_fieldcat-fieldname = 'BEGDA'.
  wa_fieldcat-reptext_ddic = 'Start date'.
  APPEND wa_fieldcat TO it_fieldcat.
  CLEAR wa_fieldcat.
  wa_fieldcat-fieldname = 'ENDDA'.
  wa_fieldcat-reptext_ddic = 'End date'.
  APPEND wa_fieldcat TO it_fieldcat.
  CLEAR wa_fieldcat.
  wa_fieldcat-fieldname = 'ANSAL'.
  wa_fieldcat-reptext_ddic = 'Annula salary'.
  wa_fieldcat-do_sum = 'X'.
  APPEND wa_fieldcat TO it_fieldcat.
  CLEAR wa_fieldcat.
  wa_fieldcat-fieldname = 'LGA01'.
  wa_fieldcat-reptext_ddic = 'Wage Type'.
  APPEND wa_fieldcat TO it_fieldcat.
  CLEAR wa_fieldcat.
  wa_fieldcat-fieldname = 'BET01'.
  wa_fieldcat-reptext_ddic = 'Amount for wagetype'.
  APPEND wa_fieldcat TO it_fieldcat.
  CLEAR wa_fieldcat.
  it_layout-totals_text = 'total text'.
  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
      i_callback_program = sy-repid
      is_layout          = it_layout
      it_fieldcat        = it_fieldcat
    TABLES
      t_outtab           = it_pa0008.
ENDFORM. " disp_alv




report  zrq2.
tABLES:     ekko.
TYPE-POOLS: slis.
TYPES: BEGIN OF t_ekko,
  sel,
  ebeln TYPE ekpo-ebeln,
  ebelp TYPE ekpo-ebelp,
  statu TYPE ekpo-statu,
  aedat TYPE ekpo-aedat,
  matnr TYPE ekpo-matnr,
  menge TYPE ekpo-menge,
  meins TYPE ekpo-meins,
  netpr TYPE ekpo-netpr,
  peinh TYPE ekpo-peinh,
END OF t_ekko.

DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
      wa_ekko TYPE t_ekko.

DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,
      gd_tab_group TYPE slis_t_sp_group_alv,
      gd_layout    TYPE slis_layout_alv,
      gd_repid     LIKE sy-repid.

************************************************************************
*Start-of-selection.
START-OF-SELECTION.

  PERFORM data_retrieval.
  PERFORM build_fieldcatalog.
  PERFORM build_layout.
  PERFORM display_alv_report.

*&---------------------------------------------------------------------*
*&      Form  BUILD_FIELDCATALOG
*&---------------------------------------------------------------------*
*       Build Fieldcatalog for ALV Report
*----------------------------------------------------------------------*
FORM build_fieldcatalog.

  fieldcatalog-fieldname   = 'EBELN'.
  fieldcatalog-seltext_m   = 'Purchase Order'.
  fieldcatalog-col_pos     = 0.
  fieldcatalog-outputlen   = 10.
  fieldcatalog-emphasize   = 'X'.
  fieldcatalog-key         = 'X'.
*  fieldcatalog-do_sum      = 'X'.
*  fieldcatalog-no_zero     = 'X'.
  APPEND fieldcatalog TO fieldcatalog.
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'EBELP'.
  fieldcatalog-seltext_m   = 'PO Item'.
  fieldcatalog-col_pos     = 1.
  APPEND fieldcatalog TO fieldcatalog.
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'STATU'.
  fieldcatalog-seltext_m   = 'Status'.
  fieldcatalog-col_pos     = 2.
  APPEND fieldcatalog TO fieldcatalog.
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'AEDAT'.
  fieldcatalog-seltext_m   = 'Item change date'.
  fieldcatalog-col_pos     = 3.
  APPEND fieldcatalog TO fieldcatalog.
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'MATNR'.
  fieldcatalog-seltext_m   = 'Material Number'.
  fieldcatalog-col_pos     = 4.
  APPEND fieldcatalog TO fieldcatalog.
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'MENGE'.
  fieldcatalog-seltext_m   = 'PO quantity'.
  fieldcatalog-col_pos     = 5.
  APPEND fieldcatalog TO fieldcatalog.
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'MEINS'.
  fieldcatalog-seltext_m   = 'Order Unit'.
  fieldcatalog-col_pos     = 6.
  APPEND fieldcatalog TO fieldcatalog.
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'NETPR'.
  fieldcatalog-seltext_m   = 'Net Price'.
  fieldcatalog-col_pos     = 7.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-do_sum      = 'X'.        "Display column total
  fieldcatalog-datatype     = 'CURR'.
  APPEND fieldcatalog TO fieldcatalog.
  CLEAR  fieldcatalog.

  fieldcatalog-fieldname   = 'PEINH'.
  fieldcatalog-seltext_m   = 'Price Unit'.
  fieldcatalog-col_pos     = 8.
  APPEND fieldcatalog TO fieldcatalog.
  CLEAR  fieldcatalog.
ENDFORM.                    " BUILD_FIELDCATALOG
*&---------------------------------------------------------------------*
*&      Form  BUILD_LAYOUT
*&---------------------------------------------------------------------*
*       Build layout for ALV grid report
*----------------------------------------------------------------------*
FORM build_layout.
  gd_layout-box_fieldname     = 'SEL'.
  "set field name to store row selection
  gd_layout-edit              = 'X'. "makes whole ALV table editable
  gd_layout-zebra             = 'X'.
ENDFORM.                    " BUILD_LAYOUT
*&---------------------------------------------------------------------*
*&      Form  DISPLAY_ALV_REPORT
*&---------------------------------------------------------------------*
*       Display report using ALV grid
*----------------------------------------------------------------------*
FORM display_alv_report.
  gd_repid = sy-repid.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program      = gd_repid
      i_callback_user_command = 'USER_COMMAND'
      is_layout               = gd_layout
      it_fieldcat             = fieldcatalog[]
      i_save                  = 'X'
    TABLES
      t_outtab                = it_ekko
    EXCEPTIONS
      program_error           = 1
      OTHERS                  = 2.
  IF sy-subrc <> 0.
  ENDIF.
ENDFORM.                    " DISPLAY_ALV_REPORT
*&---------------------------------------------------------------------*
*&      Form  DATA_RETRIEVAL
*&---------------------------------------------------------------------*
*       Retrieve data form EKPO table and populate itab it_ekko
*----------------------------------------------------------------------*
FORM data_retrieval.

  SELECT ebeln ebelp statu aedat matnr menge meins netpr peinh
    UP TO 10 ROWS
    FROM ekpo
    INTO CORRESPONDING FIELDS OF TABLE it_ekko.
ENDFORM.                    " DATA_RETRIEVAL
*------------------------------------------------------------------*
*       FORM USER_COMMAND                                          *
*------------------------------------------------------------------*
FORM user_command USING r_ucomm LIKE sy-ucomm
                  rs_selfield TYPE slis_selfield.

* Check function code
  CASE r_ucomm.
    WHEN '&IC1'.
*   Check field clicked on within ALVgrid report
      IF rs_selfield-fieldname = 'EBELN'.
*     Read data table, using index of row user clicked on
        READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
*     Set parameter ID for transaction screen field
        SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.
*     Sxecute transaction ME23N, and skip initial data entry screen
        CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
      ENDIF.

    WHEN '&DATA_SAVE'.  "user presses SAVE
      LOOP AT it_ekko INTO wa_ekko.
        IF wa_ekko-sel EQ 'X'.
*       Process records that have been selected
        ENDIF.
      ENDLOOP.
  ENDCASE.
ENDFORM.                    "user_command*&---------------------------------------------------------------------*



REPORT  ZRQ4.
tables: pa0008.
type-pools: slis.

types: begin of ty_pa0008,
        pernr type PERSNO,
        begda type begda,
        endda type endda,
        OBJPS type OBJPS,
        ansal type ansal,
        lga01 type LGART,
        bet01 type PAD_AMT7S,
      END OF ty_pa0008.

DATA: gs_pa0008 type ty_pa0008,
      gi_pa0008 type table of ty_pa0008.

DATA: gi_fieldcat type slis_t_fieldcat_alv,
      gs_fieldcat type slis_fieldcat_alv,
      gi_layout   type slis_layout_alv.

      start-of-selection.
      SELECT pernr
          begda
          endda
          objps
          ansal
          lga01
          bet01
    FROM pa0008
    INTO TABLE gi_pa0008
    UP TO 10 ROWS .
  SORT gi_pa0008 BY pernr begda DESCENDING.


  gs_fieldcat-fieldname = 'PERNR'.
  gs_fieldcat-reptext_ddic = 'Personnel no'.
  APPEND gs_fieldcat TO gi_fieldcat.
  CLEAR gs_fieldcat.

  gs_fieldcat-fieldname = 'BEGDA'.
  gs_fieldcat-reptext_ddic = 'Start date'.
  APPEND gs_fieldcat TO gi_fieldcat.
  CLEAR gs_fieldcat.

  gs_fieldcat-fieldname = 'ENDDA'.
  gs_fieldcat-reptext_ddic = 'End date'.
  APPEND gs_fieldcat TO gi_fieldcat.
  CLEAR gs_fieldcat.

  gs_fieldcat-fieldname = 'OBJPS'.
  gs_fieldcat-reptext_ddic = 'Object Identification'.
  APPEND gs_fieldcat TO gi_fieldcat.
  CLEAR gs_fieldcat.

  gs_fieldcat-fieldname = 'ANSAL'.
  gs_fieldcat-reptext_ddic = 'Annula salary'.
  gs_fieldcat-do_sum = 'X'.
  APPEND gs_fieldcat TO gi_fieldcat.
  CLEAR gs_fieldcat.

  gs_fieldcat-fieldname = 'LGA01'.
  gs_fieldcat-reptext_ddic = 'Wage Type'.
  APPEND gs_fieldcat TO gi_fieldcat.
  CLEAR gs_fieldcat.

  gs_fieldcat-fieldname = 'BET01'.
  gs_fieldcat-reptext_ddic = 'Amount for wagetype'.
  APPEND gs_fieldcat TO gi_fieldcat.
  CLEAR gs_fieldcat.

  gi_layout-totals_text = 'total text'.


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
 EXPORTING

   I_CALLBACK_PROGRAM                = sy-repid
   I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'
   IS_LAYOUT                         = gi_layout
   IT_FIELDCAT                       = gi_fieldcat
  TABLES
    T_OUTTAB                          = gi_pa0008.

IF SY-SUBRC <> 0.
ENDIF.

***************************************************************
form top_of_page.

  data:gi_header type slis_t_listheader,
        gs_header type slis_listheader.

  gS_header-typ  = 'S'.
  gS_header-key  = 'USER'.
  gS_header-info = sy-uname.
  APPEND gS_header TO gi_header.


  gS_header-typ  = 'S'.
  gS_header-key  = 'DATE'.
  gS_header-info = sy-datum.
 APPEND gS_header TO gi_header.

  gs_header-typ  = 'H'.
  gs_header-info = 'Employee Year to Date Salaries'.
  APPEND gS_header TO gi_header.


CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
  EXPORTING
    IT_LIST_COMMENTARY       = gi_header.
endform.







          


*&---------------------------------------------------------------------*
*& Report  ZNR_TEXT51
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZNR_TEXT51.


 SELECTION-SCREEN BEGIN OF SCREEN 100.

SELECTION-SCREEN BEGIN OF BLOCK part1 WITH FRAME TITLE text-001.
PARAMETERS field(10) TYPE c OBLIGATORY.
SELECTION-SCREEN END OF BLOCK part1.

SELECTION-SCREEN BEGIN OF BLOCK part2 WITH FRAME TITLE text-002.
PARAMETERS: p1(10) TYPE c VISIBLE LENGTH 1,
            p2(10) TYPE c VISIBLE LENGTH 5,
            p3(10) TYPE c VISIBLE LENGTH 10.
SELECTION-SCREEN END OF BLOCK part2.

SELECTION-SCREEN BEGIN OF BLOCK part3 WITH FRAME TITLE text-003.
PARAMETERS: a AS CHECKBOX USER-COMMAND flag,
            b AS CHECKBOX DEFAULT 'X' USER-COMMAND flag.
SELECTION-SCREEN END OF BLOCK part3.

SELECTION-SCREEN BEGIN OF BLOCK part4 WITH FRAME TITLE text-004.
PARAMETERS: r1 RADIOBUTTON GROUP rad1,
            r2 RADIOBUTTON GROUP rad1 DEFAULT 'X',
            r3 RADIOBUTTON GROUP rad1,

            s1 RADIOBUTTON GROUP rad2,
            s2 RADIOBUTTON GROUP rad2,
            s3 RADIOBUTTON GROUP rad2 DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK part4.

SELECTION-SCREEN BEGIN OF BLOCK part5 WITH FRAME TITLE text-005.
PARAMETERS p_carrid TYPE spfli-carrid
                    AS LISTBOX VISIBLE LENGTH 20
                    DEFAULT 'LH'.
SELECTION-SCREEN END OF BLOCK part5.

SELECTION-SCREEN BEGIN OF BLOCK part6 WITH FRAME TITLE text-006.
PARAMETERS: test1(10) TYPE c MODIF ID sc1,
            test2(10) TYPE c MODIF ID sc2,
            test3(10) TYPE c MODIF ID sc1,
            test4(10) TYPE c MODIF ID sc2.
SELECTION-SCREEN END OF BLOCK part6.

SELECTION-SCREEN END OF SCREEN 100.

AT SELECTION-SCREEN OUTPUT.

  LOOP AT SCREEN.
    IF a <> 'X' AND
       screen-group1 = 'SC1'.
       screen-active = '0'.
    ENDIF.
    IF b <> 'X' AND
       screen-group1 = 'SC2'.
       screen-active = '0'.
    ENDIF.
    IF screen-group1 = 'SC1'.
      screen-intensified = '1'.
      MODIFY SCREEN.
      CONTINUE.
    ENDIF.
    IF screen-group1 = 'SC2'.
      screen-intensified = '0'.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

CLASS start DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS main.
ENDCLASS.

CLASS start IMPLEMENTATION.
  METHOD main.
    CALL SELECTION-SCREEN 100 STARTING AT 10 10.
    IF sy-subrc <> 0.
      RETURN.
    ENDIF.
    WRITE: / 'P1:', p1,
           / 'P2:', p2,
           / 'P3:', p3.
  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.
  start=>main( ).


*&---------------------------------------------------------------------*
*& Report  ZNR_TEXT50
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  znr_text50.

*TYPE-POOLS: icon.

*DATA: switch TYPE i.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.
PARAMETERS: radio  RADIOBUTTON GROUP rnd  USER-COMMAND xxxx ,
            radio2 RADIOBUTTON GROUP rnd.
SELECTION-SCREEN END OF BLOCK b2.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS:
           p_first TYPE bkpf-belnr MODIF ID sc1,
           p_second  TYPE bkpf-belnr MODIF ID sc1.
SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-001.
PARAMETERS:
           p_third TYPE bkpf-belnr MODIF ID sc2.
SELECTION-SCREEN END OF BLOCK b3.
DATA: a TYPE i.

AT SELECTION-SCREEN ON RADIOBUTTON GROUP rnd.
  IF radio = 'X'.
    a = 1.

  ELSEIF  radio2 = 'X'.
    a = 2.
  ENDIF.

AT SELECTION-SCREEN OUTPUT.
  if a = 1.
    LOOP AT SCREEN.
    IF screen-group1 = 'SC1'.
        screen-active = '1'.
    ELSEIF screen-group1 = 'SC2'.
      screen-active = '0'.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.
  ELSEIF a = 2.
    LOOP AT SCREEN.
     IF screen-group1 = 'SC2'.
        screen-active = '1'.
      ELSEIF screen-group1 = 'SC1'.
      screen-active = '0'.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.
  else.
  LOOP AT SCREEN.
    IF screen-group1 = 'SC1' OR screen-group1 = 'SC2' .
       screen-active = '0'.
       MODIFY SCREEN.
    ENDIF.
  ENDLOOP.
  ENDIF.

START-OF-SELECTION.










REPORT  ZNR_WORK.

DATA :  GV_LINE_COUNT TYPE P DECIMALS 2 ,
        GV_TOT_CHAR  TYPE string VALUE 'CDEFGHIJKLMNOPQRSTUVWXYz##ABCDEFGHIJKLMNOPQRSTUVWXYzABCDEFGHIJKLMNOPQRSTUVWXYzABCDEFGHIJKLMNOPQRSTUVWXYz##ABCDEFGHIJKLMNOPQRSTUVWXYzAB',
        TEMP TYPE I .


        gv_line_count = strlen( gv_tot_char ).
        WRITE gv_line_count.




*&---------------------------------------------------------------------*
*& Report  ZNR_TEST3
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZNR_TEST3.


DATA :  GV_PLANT_NAME like  t001w-name1,
        WERKS   like T001W-WERKS VALUE '1001',
        I_GET_ADDRESS TYPE c ,
        E_T001W TYPE T001W.

CALL FUNCTION 'GET_PLANT_DETAILS'
  EXPORTING
    I_WERKS               = WERKS
   I_GET_ADDRESS         = I_GET_ADDRESS
 IMPORTING
   E_NAME                = GV_PLANT_NAME
*   E_ADDR1               = E_ADDR1
*   E_ADDR2               = E_ADDR2
*   E_ADDR3               = E_ADDR3
*   E_ADDR4               = E_ADDR4
   E_T001W               = E_T001W
 EXCEPTIONS
   NOT_FOUND             = 1
   PARAMETER_ERROR       = 2
   OTHERS                = 3
          .
IF SY-SUBRC = 0.
* Implement suitable error handling here
   WRITE GV_PLANT_NAME.
else .
  message 'not working properly' TYPE 'I'.
ENDIF.

SAME AS ABOVE PROGRAM BUT CHANGE THE WERKS VALUE.
*&---------------------------------------------------------------------*
*& Report  ZNR_TEST3
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZNR_TEST3.


DATA :  GV_PLANT_NAME like  t001w-name1,
        WERKS   like T001W-WERKS VALUE '1000',
        I_GET_ADDRESS TYPE c ,
        E_T001W TYPE T001W.

CALL FUNCTION 'GET_PLANT_DETAILS'
  EXPORTING
    I_WERKS               = WERKS
   I_GET_ADDRESS         = I_GET_ADDRESS
 IMPORTING
   E_NAME                = GV_PLANT_NAME
*   E_ADDR1               = E_ADDR1
*   E_ADDR2               = E_ADDR2
*   E_ADDR3               = E_ADDR3
*   E_ADDR4               = E_ADDR4
   E_T001W               = E_T001W
 EXCEPTIONS
   NOT_FOUND             = 1
   PARAMETER_ERROR       = 2
   OTHERS                = 3
          .
IF SY-SUBRC = 0.
* Implement suitable error handling here
   WRITE GV_PLANT_NAME.
else .
  message 'not working properly' TYPE 'I'.
ENDIF.




*&---------------------------------------------------------------------*
*& Report  ZNR_TEST10
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZNR_TEST10.

data wa TYPE lfa1 .

wa
-LIFNR =  '9000100015'.
wa
-LAND1 'IN' .
wa
-NAME1 'ABHI'.
wa
-NAME2 'Robertson'.
wa
-LOEVM 'X'.

MODIFY lfa1 from wa .

EXECUTE THE PROGRAM & GO TO SE11 & CHECK IT.


REPORT  ZNR_TEST20.

DATA: BEGIN OF WA,
              COL1 TYPE C,
              COL2 TYPE I,
         END OF WA.
DATA ITAB LIKE TABLE OF WA.
DO 3 TIMES.
  APPEND INITIAL LINE TO ITAB.
  WA-COL1 = SY-INDEX. WA-COL2 = SY-INDEX ** 2.
  APPEND WA TO ITAB.
ENDDO.
LOOP AT ITAB INTO WA.
  WRITE: / WA-COL1, WA-COL2.
ENDLOOP.


REPORT  ZCONCZTE.
data date(10) type c.
 write:/ sy-datum.
 CONCATENATE sy-datum+0(4) sy-datum+4(2) sy-datum+6(2) INTO date SEPARATED BY '/'.

 WRITE:/ date.

REPORT  ZNR_SPLIT.

data : str1 TYPE f VALUE '3.4',
       str2 TYPE p VALUE '4.1',
       str3 TYPE i ,
       str4 TYPE i .

 str3 = floor( str1 ).
 str4 = floor( str2 ).

       WRITE :/ str1 ,
                      str2 .




REPORT  ZCOLLECT.

data:begin of it OCCURS 0,
     cust(5) type c,
     mat(4) type c,
     qty type i,
     END OF it.

     it-cust = '1000'.
     it-mat  = 'f001'.
     it-qty  = 100.
     collect it.

     it-cust = '1000'.
     it-mat  = 'f001'.
     it-qty  = 300.
     collect it.

     it-cust = '1000'.
     it-mat  = 'f002'.
     it-qty  = 100.
     collect it.

     it-cust = '1000'.
     it-mat  = 'f002'.
     it-qty  = 400.
     collect it.

     loop at it.
       write:/ it-cust,
               it-mat,
               it-qty.
       ENDLOOP.