*&---------------------------------------------------------------------*
*& Report  ZSL_EX_6
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT  zsl_ex_6.
*&--------------------------------------------------------------------*
*&      Form  write_table
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
*      -->P_TABLE    text
*---------------------------------------------------------------------*
FORM write_table USING p_table TYPE ANY TABLE.
  FIELD-SYMBOLS: ‹line›  TYPE data,
                 ‹field› TYPE data.
  WRITE:/ '{'.
  LOOP AT p_table ASSIGNING ‹line›.
    WRITE /4 '('.
    DO.
      ASSIGN COMPONENT sy-index OF STRUCTURE ‹line› TO ‹field›.
      IF sy-subrc ‹› 0.
        EXIT.
      ENDIF.
      WRITE /8 ‹field›.
    ENDDO.            "loop a componente
    WRITE /4 ')'.
  ENDLOOP.            "loop a tabela
  WRITE / '}'.
ENDFORM.              "write_table
TYPES: BEGIN OF my_line_type,
        name       TYPE string,
        birth_date TYPE d,
        salary     TYPE p DECIMALS 2,
       END OF my_line_type,
       my_table_type TYPE HASHED TABLE OF my_line_type
           WITH UNIQUE KEY name birth_date.
DATA: my_wa     TYPE my_line_type,
      my_table  TYPE my_table_type.
*&--------------------------------------------------------------------*
START-OF-SELECTION.
*&--------------------------------------------------------------------*
  my_wa-name = 'Peter Smith'.
  my_wa-birth_date = '19640303'.
  my_wa-salary = '20000.00'.
  INSERT my_wa INTO TABLE my_table.
  my_wa-name = 'April May June'.
  my_wa-birth_date = '19660401'.
  my_wa-salary = '1000000.00'.
  INSERT my_wa INTO TABLE my_table.
  my_wa-name = 'Maria albertina'.
  my_wa-birth_date = '19640601'.
  my_wa-salary = '1.00'.
  INSERT my_wa INTO TABLE my_table.
  PERFORM write_table USING my_table.
Subscrever:
Enviar feedback (Atom)
Sem comentários:
Enviar um comentário