ABAP Select data from SAP table P08_FPS_G_00183 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 P08_FPS_G_00183 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 P08_FPS_G_00183. 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 P08_FPS_G_00183 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_P08_FPS_G_00183 TYPE STANDARD TABLE OF P08_FPS_G_00183,
      WA_P08_FPS_G_00183 TYPE P08_FPS_G_00183,
      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: <P08_FPS_G_00183> TYPE P08_FPS_G_00183.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM P08_FPS_G_00183
*  INTO TABLE @DATA(IT_P08_FPS_G_001832).
*--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_P08_FPS_G_00183 INDEX 1 INTO DATA(WA_P08_FPS_G_001832).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_P08_FPS_G_00183 ASSIGNING <P08_FPS_G_00183>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<P08_FPS_G_00183>-SERIAL_NO = 1.
<P08_FPS_G_00183>-ER_NAME = 1.
<P08_FPS_G_00183>-ER_STRT = 1.
<P08_FPS_G_00183>-ER_PLZ = 1.
<P08_FPS_G_00183>-ER_CITY = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_P08_FPS_G_00183-ER_LAND, sy-vline,
WA_P08_FPS_G_00183-TDREF, sy-vline,
WA_P08_FPS_G_00183-TDNUM, sy-vline,
WA_P08_FPS_G_00183-TDNME, sy-vline,
WA_P08_FPS_G_00183-PRMNO, sy-vline,
WA_P08_FPS_G_00183-ACCRF, sy-vline.
ENDLOOP. *Add any further fields from structure WA_P08_FPS_G_00183 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_P08_FPS_G_00183 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_P08_FPS_G_00183 INTO WA_P08_FPS_G_00183. *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 TAXYR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_P08_FPS_G_00183-TAXYR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_P08_FPS_G_00183-TAXYR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit PDATE, internal->external for field GBDAT CALL FUNCTION 'CONVERSION_EXIT_PDATE_OUTPUT' EXPORTING input = WA_P08_FPS_G_00183-GBDAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_P08_FPS_G_00183-GBDAT.
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_P08_FPS_G_00183_STR,
SERIAL_NO TYPE STRING,
ER_NAME TYPE STRING,
ER_STRT TYPE STRING,
ER_PLZ TYPE STRING,
ER_CITY TYPE STRING,
ER_LAND TYPE STRING,
TDREF TYPE STRING,
TDNUM TYPE STRING,
TDNME TYPE STRING,
PRMNO TYPE STRING,
ACCRF TYPE STRING,
TAXYR TYPE STRING,
PERID TYPE STRING,
ENAME TYPE STRING,
TITLE TYPE STRING,
INITS TYPE STRING,
NACHN TYPE STRING,
VORNA TYPE STRING,
MIDNM TYPE STRING,
LINE0 TYPE STRING,
LINE1 TYPE STRING,
LINE2 TYPE STRING,
LINE3 TYPE STRING,
PSTLZ TYPE STRING,
LAND TYPE STRING,
GBDAT TYPE STRING,
GESCH TYPE STRING,
PPNUM TYPE STRING,
PNINO TYPE STRING,
PINIT TYPE STRING,
PNACH TYPE STRING,
PVORN TYPE STRING,
PMIDN TYPE STRING,
STDAT TYPE STRING,
STDET TYPE STRING,
STRDE TYPE STRING,
SLIND TYPE STRING,
EXPAT TYPE STRING,
SO6MN TYPE STRING,
SL6MN TYPE STRING,
INOUK TYPE STRING,
EEACC TYPE STRING,
EPMSC TYPE STRING,
OPWID TYPE STRING,
OPAMT TYPE STRING,
SPWID TYPE STRING,
SPAMT TYPE STRING,
PAYID TYPE STRING,
PYIND TYPE STRING,
OPAYID TYPE STRING,
IREMP TYPE STRING,
ENDDT TYPE STRING,
TPYEM TYPE STRING,
TXPEM TYPE STRING,
SLRPE TYPE STRING,
BHASH TYPE STRING,
PYFREQ TYPE STRING,
PMTDAT TYPE STRING,
PMTMN TYPE STRING,
PMTWK TYPE STRING,
ERPER TYPE STRING,
AERIND TYPE STRING,
LTPYI TYPE STRING,
NHWKD TYPE STRING,
TXCOD TYPE STRING,
SCVRI TYPE STRING,
W1M1 TYPE STRING,
TPYPE TYPE STRING,
PYTXN TYPE STRING,
DEDPP TYPE STRING,
PADED TYPE STRING,
BNTXP TYPE STRING,
BNNIP TYPE STRING,
BNNNI TYPE STRING,
EPCP TYPE STRING,
ISCNI TYPE STRING,
EPCNP TYPE STRING,
SLRPP TYPE STRING,
TXDRP TYPE STRING,
SSPYD TYPE STRING,
SMPYD TYPE STRING,
OSSPY TYPE STRING,
SAPYD TYPE STRING,
ASPPY TYPE STRING,
DIRFB TYPE STRING,
DIRAP TYPE STRING,
DAPWM TYPE STRING,
ERNIC TYPE STRING,
ERNIC_YTD TYPE STRING,
EENIC TYPE STRING,
EENIC_YTD TYPE STRING,
PENID TYPE STRING,
WRKSN TYPE STRING,END OF T_EKKO_STR. DATA: WA_P08_FPS_G_00183_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_P08_FPS_G_00183_STR-SERIAL_NO sy-vline
WA_P08_FPS_G_00183_STR-ER_NAME sy-vline
WA_P08_FPS_G_00183_STR-ER_STRT sy-vline
WA_P08_FPS_G_00183_STR-ER_PLZ sy-vline
WA_P08_FPS_G_00183_STR-ER_CITY sy-vline
WA_P08_FPS_G_00183_STR-ER_LAND sy-vline
WA_P08_FPS_G_00183_STR-TDREF sy-vline
WA_P08_FPS_G_00183_STR-TDNUM sy-vline
WA_P08_FPS_G_00183_STR-TDNME sy-vline
WA_P08_FPS_G_00183_STR-PRMNO sy-vline
WA_P08_FPS_G_00183_STR-ACCRF sy-vline
WA_P08_FPS_G_00183_STR-TAXYR sy-vline
WA_P08_FPS_G_00183_STR-PERID sy-vline
WA_P08_FPS_G_00183_STR-ENAME sy-vline
WA_P08_FPS_G_00183_STR-TITLE sy-vline
WA_P08_FPS_G_00183_STR-INITS sy-vline
WA_P08_FPS_G_00183_STR-NACHN sy-vline
WA_P08_FPS_G_00183_STR-VORNA sy-vline
WA_P08_FPS_G_00183_STR-MIDNM sy-vline
WA_P08_FPS_G_00183_STR-LINE0 sy-vline
WA_P08_FPS_G_00183_STR-LINE1 sy-vline
WA_P08_FPS_G_00183_STR-LINE2 sy-vline
WA_P08_FPS_G_00183_STR-LINE3 sy-vline
WA_P08_FPS_G_00183_STR-PSTLZ sy-vline
WA_P08_FPS_G_00183_STR-LAND sy-vline
WA_P08_FPS_G_00183_STR-GBDAT sy-vline
WA_P08_FPS_G_00183_STR-GESCH sy-vline
WA_P08_FPS_G_00183_STR-PPNUM sy-vline
WA_P08_FPS_G_00183_STR-PNINO sy-vline
WA_P08_FPS_G_00183_STR-PINIT sy-vline
WA_P08_FPS_G_00183_STR-PNACH sy-vline
WA_P08_FPS_G_00183_STR-PVORN sy-vline
WA_P08_FPS_G_00183_STR-PMIDN sy-vline
WA_P08_FPS_G_00183_STR-STDAT sy-vline
WA_P08_FPS_G_00183_STR-STDET sy-vline
WA_P08_FPS_G_00183_STR-STRDE sy-vline
WA_P08_FPS_G_00183_STR-SLIND sy-vline
WA_P08_FPS_G_00183_STR-EXPAT sy-vline
WA_P08_FPS_G_00183_STR-SO6MN sy-vline
WA_P08_FPS_G_00183_STR-SL6MN sy-vline
WA_P08_FPS_G_00183_STR-INOUK sy-vline
WA_P08_FPS_G_00183_STR-EEACC sy-vline
WA_P08_FPS_G_00183_STR-EPMSC sy-vline
WA_P08_FPS_G_00183_STR-OPWID sy-vline
WA_P08_FPS_G_00183_STR-OPAMT sy-vline
WA_P08_FPS_G_00183_STR-SPWID sy-vline
WA_P08_FPS_G_00183_STR-SPAMT sy-vline
WA_P08_FPS_G_00183_STR-PAYID sy-vline
WA_P08_FPS_G_00183_STR-PYIND sy-vline
WA_P08_FPS_G_00183_STR-OPAYID sy-vline
WA_P08_FPS_G_00183_STR-IREMP sy-vline
WA_P08_FPS_G_00183_STR-ENDDT sy-vline
WA_P08_FPS_G_00183_STR-TPYEM sy-vline
WA_P08_FPS_G_00183_STR-TXPEM sy-vline
WA_P08_FPS_G_00183_STR-SLRPE sy-vline
WA_P08_FPS_G_00183_STR-BHASH sy-vline
WA_P08_FPS_G_00183_STR-PYFREQ sy-vline
WA_P08_FPS_G_00183_STR-PMTDAT sy-vline
WA_P08_FPS_G_00183_STR-PMTMN sy-vline
WA_P08_FPS_G_00183_STR-PMTWK sy-vline
WA_P08_FPS_G_00183_STR-ERPER sy-vline
WA_P08_FPS_G_00183_STR-AERIND sy-vline
WA_P08_FPS_G_00183_STR-LTPYI sy-vline
WA_P08_FPS_G_00183_STR-NHWKD sy-vline
WA_P08_FPS_G_00183_STR-TXCOD sy-vline
WA_P08_FPS_G_00183_STR-SCVRI sy-vline
WA_P08_FPS_G_00183_STR-W1M1 sy-vline
WA_P08_FPS_G_00183_STR-TPYPE sy-vline
WA_P08_FPS_G_00183_STR-PYTXN sy-vline
WA_P08_FPS_G_00183_STR-DEDPP sy-vline
WA_P08_FPS_G_00183_STR-PADED sy-vline
WA_P08_FPS_G_00183_STR-BNTXP sy-vline
WA_P08_FPS_G_00183_STR-BNNIP sy-vline
WA_P08_FPS_G_00183_STR-BNNNI sy-vline
WA_P08_FPS_G_00183_STR-EPCP sy-vline
WA_P08_FPS_G_00183_STR-ISCNI sy-vline
WA_P08_FPS_G_00183_STR-EPCNP sy-vline
WA_P08_FPS_G_00183_STR-SLRPP sy-vline
WA_P08_FPS_G_00183_STR-TXDRP sy-vline
WA_P08_FPS_G_00183_STR-SSPYD sy-vline
WA_P08_FPS_G_00183_STR-SMPYD sy-vline
WA_P08_FPS_G_00183_STR-OSSPY sy-vline
WA_P08_FPS_G_00183_STR-SAPYD sy-vline
WA_P08_FPS_G_00183_STR-ASPPY sy-vline
WA_P08_FPS_G_00183_STR-DIRFB sy-vline
WA_P08_FPS_G_00183_STR-DIRAP sy-vline
WA_P08_FPS_G_00183_STR-DAPWM sy-vline
WA_P08_FPS_G_00183_STR-ERNIC sy-vline
WA_P08_FPS_G_00183_STR-ERNIC_YTD sy-vline
WA_P08_FPS_G_00183_STR-EENIC sy-vline
WA_P08_FPS_G_00183_STR-EENIC_YTD sy-vline
WA_P08_FPS_G_00183_STR-PENID sy-vline
WA_P08_FPS_G_00183_STR-WRKSN sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.