ABAP Select data from SAP table PPT_FORM_IID into internal table

Get Example source ABAP code based on a different SAP table
  

Below is a number of ABAP code snippets to demonstrate how to select data from SAP PPT_FORM_IID table and store it within an internal table, including using the newer @DATA inline declaration methods. It also shows you various ways to process this data using ABAP work area, inline declaration or field symbols including executing all the relevant CONVERSION_EXIT routines specific to PPT_FORM_IID. See here for more generic Select statement tips.

Sometimes data within SAP is stored within the database table in a different format to what it is displayed to the user. These input/output conversation FM routines are what translates the data between the two formats.

There is also a full declaration of the PPT_FORM_IID table where each field has a char/string type for you to simply copy and paste. This allows you to use processing that is only available to these field types such as the CONCATENATE statement.

DATA: IT_PPT_FORM_IID TYPE STANDARD TABLE OF PPT_FORM_IID,
      WA_PPT_FORM_IID TYPE PPT_FORM_IID,
      GD_STR TYPE STRING.

DATA: lo_typedescr type REF TO cl_abap_typedescr.
DATA: lv_fieldname type fieldname.

FIELD-SYMBOLS: <FIELD> TYPE any.
FIELD-SYMBOLS: <PPT_FORM_IID> TYPE PPT_FORM_IID.

*Process all fields in table header/work area as string values
  PERFORM process_as_string_field_values CHANGING wa_PPT_FORM_IID.

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM PPT_FORM_IID
  INTO TABLE IT_PPT_FORM_IID.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PPT_FORM_IID
*  INTO TABLE @DATA(IT_PPT_FORM_IID2).
*--Further methods of using ABAP code to  select data from SAP database tables

*You can also declare the header/work area using the in-line DATA declaration method
READ TABLE IT_PPT_FORM_IID INDEX 1 INTO DATA(WA_PPT_FORM_IID2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PPT_FORM_IID ASSIGNING <PPT_FORM_IID>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PPT_FORM_IID>-COMPANY_INFO = 1.
<PPT_FORM_IID>-COMPA = 1.
<PPT_FORM_IID>-TAXNU = 1.
<PPT_FORM_IID>-POCIT = 1.
<PPT_FORM_IID>-POCOD = 1.
ENDLOOP.

LOOP AT IT_PPT_FORM_IID INTO WA_PPT_FORM_IID.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PPT_FORM_IID-ADDRE, sy-vline,
WA_PPT_FORM_IID-TEXT, sy-vline,
WA_PPT_FORM_IID-TXT003, sy-vline,
WA_PPT_FORM_IID-TXT004, sy-vline,
WA_PPT_FORM_IID-TXT005, sy-vline,
WA_PPT_FORM_IID-TXT006, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PPT_FORM_IID you want to display... WRITE:/ sy-uline. * Aternatively use generic code to Write field values (and NAME) to screen report DO. ASSIGN COMPONENT sy-index OF STRUCTURE wa_PPT_FORM_IID TO <field>. IF sy-subrc <> 0. EXIT. ENDIF. WRITE:/ 'Field Value', <field>, sy-vline. gd_str = <field> . lo_typedescr ?= CL_ABAP_DATADESCR=>DESCRIBE_BY_DATA( <field> ). lv_fieldname = lo_typedescr->GET_RELATIVE_NAME( ). WRITE:/ 'Field Name', lv_fieldname. ENDDO. *Redo loop but convert all fields from internal to out value LOOP AT IT_PPT_FORM_IID INTO WA_PPT_FORM_IID. *Write horizonal line to screen report. WRITE:/ sy-uline. *Convert all fields to display/output versions using conversion routines PERFORM convert_all_field_values CHANGING wa_EKKO. ENDLOOP. *&---------------------------------------------------------------------* *& Form convert_all_field_values *&---------------------------------------------------------------------* FORM convert_all_field_values CHANGING p_EKKO LIKE wa_EKKO. DATA: ld_input(1000) TYPE c, ld_output(1000) TYPE C.

*Conversion exit GJAHR, internal->external for field TYEAR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_PPT_FORM_IID-TYEAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PPT_FORM_IID-TYEAR.
WRITE:/ 'New Value:', ld_input.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_PPT_FORM_IID_STR,
COMPANY_INFO TYPE STRING,
COMPA TYPE STRING,
TAXNU TYPE STRING,
POCIT TYPE STRING,
POCOD TYPE STRING,
ADDRE TYPE STRING,
TEXT TYPE STRING,
TXT003 TYPE STRING,
TXT004 TYPE STRING,
TXT005 TYPE STRING,
TXT006 TYPE STRING,
TXT007 TYPE STRING,
TXT008 TYPE STRING,
TXT010 TYPE STRING,
TXT011 TYPE STRING,
TXT012 TYPE STRING,
TXT013 TYPE STRING,
TXT014 TYPE STRING,
TXT015 TYPE STRING,
TXT016 TYPE STRING,
TXT017 TYPE STRING,
TXT018 TYPE STRING,
TXT021 TYPE STRING,
TXT035 TYPE STRING,
TXT038 TYPE STRING,
TXT041 TYPE STRING,
WARES TYPE STRING,
DATE1 TYPE STRING,
DATE2 TYPE STRING,
TYEAR TYPE STRING,
PRDATA TYPE STRING,
TXT039 TYPE STRING,
TXT060 TYPE STRING,
TXT061 TYPE STRING,
TXT062 TYPE STRING,
TXT063 TYPE STRING,
TXT064 TYPE STRING,
TXT065 TYPE STRING,
TXT066 TYPE STRING,
TXT067 TYPE STRING,
TXT110 TYPE STRING,
TXT111 TYPE STRING,
TXT112 TYPE STRING,
TXT113 TYPE STRING,
TXT114 TYPE STRING,
TXT115 TYPE STRING,
TXT116 TYPE STRING,
PERSONNEL TYPE STRING,
FNAME TYPE STRING,
FINUM TYPE STRING,
NAME2 TYPE STRING,
STRAS TYPE STRING,
LOCAT TYPE STRING,
PSTLZ TYPE STRING,
LOCP TYPE STRING,
PERNR TYPE STRING,
AMOUNTS TYPE STRING,
DEDUCTS TYPE STRING,
INCASH TYPE STRING,
PREVIOUS TYPE STRING,
WAERS TYPE STRING,
RESID_AMOUNTS TYPE STRING,
ADSE TYPE STRING,
REND_SUJENG TYPE STRING,
REND_NSUJ TYPE STRING,
DED_CONTRIB_AMT TYPE STRING,
DED_AFFIL_FEE TYPE STRING,
EXEMPTED_INCOMES TYPE STRING,
PREVIOUS_DEDUCTION TYPE STRING,END OF T_EKKO_STR. DATA: WA_PPT_FORM_IID_STR type T_EKKO_STR. DATA: ld_text TYPE string. LOOP AT IT_EKKO INTO WA_EKKO. MOVE-CORRESPONDING wa_EKKO TO WA_EKKO_STR. CONCATENATE: sy-vline
WA_PPT_FORM_IID_STR-COMPANY_INFO sy-vline
WA_PPT_FORM_IID_STR-COMPA sy-vline
WA_PPT_FORM_IID_STR-TAXNU sy-vline
WA_PPT_FORM_IID_STR-POCIT sy-vline
WA_PPT_FORM_IID_STR-POCOD sy-vline
WA_PPT_FORM_IID_STR-ADDRE sy-vline
WA_PPT_FORM_IID_STR-TEXT sy-vline
WA_PPT_FORM_IID_STR-TXT003 sy-vline
WA_PPT_FORM_IID_STR-TXT004 sy-vline
WA_PPT_FORM_IID_STR-TXT005 sy-vline
WA_PPT_FORM_IID_STR-TXT006 sy-vline
WA_PPT_FORM_IID_STR-TXT007 sy-vline
WA_PPT_FORM_IID_STR-TXT008 sy-vline
WA_PPT_FORM_IID_STR-TXT010 sy-vline
WA_PPT_FORM_IID_STR-TXT011 sy-vline
WA_PPT_FORM_IID_STR-TXT012 sy-vline
WA_PPT_FORM_IID_STR-TXT013 sy-vline
WA_PPT_FORM_IID_STR-TXT014 sy-vline
WA_PPT_FORM_IID_STR-TXT015 sy-vline
WA_PPT_FORM_IID_STR-TXT016 sy-vline
WA_PPT_FORM_IID_STR-TXT017 sy-vline
WA_PPT_FORM_IID_STR-TXT018 sy-vline
WA_PPT_FORM_IID_STR-TXT021 sy-vline
WA_PPT_FORM_IID_STR-TXT035 sy-vline
WA_PPT_FORM_IID_STR-TXT038 sy-vline
WA_PPT_FORM_IID_STR-TXT041 sy-vline
WA_PPT_FORM_IID_STR-WARES sy-vline
WA_PPT_FORM_IID_STR-DATE1 sy-vline
WA_PPT_FORM_IID_STR-DATE2 sy-vline
WA_PPT_FORM_IID_STR-TYEAR sy-vline
WA_PPT_FORM_IID_STR-PRDATA sy-vline
WA_PPT_FORM_IID_STR-TXT039 sy-vline
WA_PPT_FORM_IID_STR-TXT060 sy-vline
WA_PPT_FORM_IID_STR-TXT061 sy-vline
WA_PPT_FORM_IID_STR-TXT062 sy-vline
WA_PPT_FORM_IID_STR-TXT063 sy-vline
WA_PPT_FORM_IID_STR-TXT064 sy-vline
WA_PPT_FORM_IID_STR-TXT065 sy-vline
WA_PPT_FORM_IID_STR-TXT066 sy-vline
WA_PPT_FORM_IID_STR-TXT067 sy-vline
WA_PPT_FORM_IID_STR-TXT110 sy-vline
WA_PPT_FORM_IID_STR-TXT111 sy-vline
WA_PPT_FORM_IID_STR-TXT112 sy-vline
WA_PPT_FORM_IID_STR-TXT113 sy-vline
WA_PPT_FORM_IID_STR-TXT114 sy-vline
WA_PPT_FORM_IID_STR-TXT115 sy-vline
WA_PPT_FORM_IID_STR-TXT116 sy-vline
WA_PPT_FORM_IID_STR-PERSONNEL sy-vline
WA_PPT_FORM_IID_STR-FNAME sy-vline
WA_PPT_FORM_IID_STR-FINUM sy-vline
WA_PPT_FORM_IID_STR-NAME2 sy-vline
WA_PPT_FORM_IID_STR-STRAS sy-vline
WA_PPT_FORM_IID_STR-LOCAT sy-vline
WA_PPT_FORM_IID_STR-PSTLZ sy-vline
WA_PPT_FORM_IID_STR-LOCP sy-vline
WA_PPT_FORM_IID_STR-PERNR sy-vline
WA_PPT_FORM_IID_STR-AMOUNTS sy-vline
WA_PPT_FORM_IID_STR-DEDUCTS sy-vline
WA_PPT_FORM_IID_STR-INCASH sy-vline
WA_PPT_FORM_IID_STR-PREVIOUS sy-vline
WA_PPT_FORM_IID_STR-WAERS sy-vline
WA_PPT_FORM_IID_STR-RESID_AMOUNTS sy-vline
WA_PPT_FORM_IID_STR-ADSE sy-vline
WA_PPT_FORM_IID_STR-REND_SUJENG sy-vline
WA_PPT_FORM_IID_STR-REND_NSUJ sy-vline
WA_PPT_FORM_IID_STR-DED_CONTRIB_AMT sy-vline
WA_PPT_FORM_IID_STR-DED_AFFIL_FEE sy-vline
WA_PPT_FORM_IID_STR-EXEMPTED_INCOMES sy-vline
WA_PPT_FORM_IID_STR-PREVIOUS_DEDUCTION sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.