ABAP Select data from SAP table P18_NEMPRI_2011_SCREEN 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 P18_NEMPRI_2011_SCREEN 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 P18_NEMPRI_2011_SCREEN. 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 P18_NEMPRI_2011_SCREEN 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_P18_NEMPRI_2011_SCREEN TYPE STANDARD TABLE OF P18_NEMPRI_2011_SCREEN,
      WA_P18_NEMPRI_2011_SCREEN TYPE P18_NEMPRI_2011_SCREEN,
      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: <P18_NEMPRI_2011_SCREEN> TYPE P18_NEMPRI_2011_SCREEN.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM P18_NEMPRI_2011_SCREEN
*  INTO TABLE @DATA(IT_P18_NEMPRI_2011_SCREEN2).
*--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_P18_NEMPRI_2011_SCREEN INDEX 1 INTO DATA(WA_P18_NEMPRI_2011_SCREEN2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_P18_NEMPRI_2011_SCREEN ASSIGNING <P18_NEMPRI_2011_SCREEN>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<P18_NEMPRI_2011_SCREEN>-PERNR = 1.
<P18_NEMPRI_2011_SCREEN>-JMENO = 1.
<P18_NEMPRI_2011_SCREEN>-PRIJMENI = 1.
<P18_NEMPRI_2011_SCREEN>-RODNECISLO = 1.
<P18_NEMPRI_2011_SCREEN>-RB_NEMOC = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_P18_NEMPRI_2011_SCREEN-RB_OSETROV, sy-vline,
WA_P18_NEMPRI_2011_SCREEN-RB_PPM, sy-vline,
WA_P18_NEMPRI_2011_SCREEN-RB_VPPTM, sy-vline,
WA_P18_NEMPRI_2011_SCREEN-RB_OPP, sy-vline,
WA_P18_NEMPRI_2011_SCREEN-RB_DLO, sy-vline,
WA_P18_NEMPRI_2011_SCREEN-CISPOTDPN, sy-vline.
ENDLOOP. *Add any further fields from structure WA_P18_NEMPRI_2011_SCREEN 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_P18_NEMPRI_2011_SCREEN 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_P18_NEMPRI_2011_SCREEN INTO WA_P18_NEMPRI_2011_SCREEN. *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 SXIDN, internal->external for field KONTAKTNIEMAIL CALL FUNCTION 'CONVERSION_EXIT_SXIDN_OUTPUT' EXPORTING input = WA_P18_NEMPRI_2011_SCREEN-KONTAKTNIEMAIL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_P18_NEMPRI_2011_SCREEN-KONTAKTNIEMAIL.
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_P18_NEMPRI_2011_SCREEN_STR,
PERNR TYPE STRING,
JMENO TYPE STRING,
PRIJMENI TYPE STRING,
RODNECISLO TYPE STRING,
RB_NEMOC TYPE STRING,
RB_OSETROV TYPE STRING,
RB_PPM TYPE STRING,
RB_VPPTM TYPE STRING,
RB_OPP TYPE STRING,
RB_DLO TYPE STRING,
CISPOTDPN TYPE STRING,
CISPOTOCR TYPE STRING,
CISPOTDLO TYPE STRING,
DRUHDAVKY TYPE STRING,
OPRAVNEPODANI TYPE STRING,
CISLOPOTVRZENI TYPE STRING,
ZAHRANICNI TYPE STRING,
VSZAMESTNAVATEL TYPE STRING,
ICZAMESTNAVATEL TYPE STRING,
NAZEVZAMESTNAVATEL TYPE STRING,
KODOSSZ TYPE STRING,
NAZEVOSSZ TYPE STRING,
ZAMESTNANOD TYPE STRING,
ZAMESTNANDO TYPE STRING,
DRUHCINNOSTI TYPE STRING,
RB_A_ANO TYPE STRING,
RB_A_NE TYPE STRING,
POCETODPRACOVANYCHHODIN TYPE STRING,
PRACOVNIDOBA TYPE STRING,
PRIJEMMALYROZSAH TYPE STRING,
RB_C_ANO TYPE STRING,
RB_C_NE TYPE STRING,
POBIRADUCHOD TYPE STRING,
DRUHDUCHODU TYPE STRING,
RB_D1_ANO TYPE STRING,
RB_D1_NE TYPE STRING,
JESTUDENTEM TYPE STRING,
RB_D2_ANO TYPE STRING,
RB_D2_NE TYPE STRING,
SPADADOPRAZDNIN TYPE STRING,
RB_E_ANO TYPE STRING,
RB_E_NE TYPE STRING,
RB_J_ANO TYPE STRING,
RB_J_NE TYPE STRING,
VOLNOBEZNAHRADYOD TYPE STRING,
VOLNOBEZNAHRADYDO TYPE STRING,
RB_G_ANO TYPE STRING,
RB_G_NE TYPE STRING,
NASTUPUJEPPM TYPE STRING,
NAROZENIDITETE TYPE STRING,
NEREDUKOVANYDVZPPM TYPE STRING,
RB_H_NE TYPE STRING,
RB_H_ANO TYPE STRING,
DATUMNAJINOUPRACI TYPE STRING,
RB_I_NE TYPE STRING,
RB_I_ANO TYPE STRING,
DALSISDELENI TYPE STRING,
KONTAKTNIPRACOVNIK TYPE STRING,
KONTAKTNITELEFON TYPE STRING,
KONTAKTNIEMAIL TYPE STRING,
PODANOV TYPE STRING,
ROZHODNEOBDOBIOD TYPE STRING,
ROZHODNEOBDOBIDO TYPE STRING,
ZAPOCITATELNYPRIJEMCELKEM TYPE STRING,
VYLOUCENEDNYCELKEM TYPE STRING,
PRAVDEPODOBNAVYSEPRIJMU TYPE STRING,
RB_EX_ANO TYPE STRING,
RB_EX_NE TYPE STRING,
RB_IN_ANO TYPE STRING,
RB_IN_NE TYPE STRING,
GUID_ATTACHMENT TYPE STRING,
VYPLATITUCETCR TYPE STRING,
VYPLATITUCETCIZINA TYPE STRING,
VYPLATITADRESA TYPE STRING,
VYPLATITHOTOVOST TYPE STRING,
RB_VYP_UCETCR TYPE STRING,
RB_VYP_UCETCIZINA TYPE STRING,
RB_VYP_ADRESA TYPE STRING,
RB_VYP_HOTOVOST TYPE STRING,
ADRESA_OBEC TYPE STRING,
ADRESA_ULICE TYPE STRING,
ADRESA_CISLOPOPIS TYPE STRING,
ADRESA_CISLOORIENT TYPE STRING,
ADRESA_PSC TYPE STRING,
UCETCZ_PREDCISLI TYPE STRING,
UCETCZ_UCETCISLO TYPE STRING,
UCETCZ_SPECSYMBOL TYPE STRING,
UCETCZ_BANKAKOD TYPE STRING,
UCETZAHRANICNI_STAT TYPE STRING,
UCETZAHRANICNI_IBAN TYPE STRING,
UCETZAHRANICNI_UCETCISLO TYPE STRING,
UCETZAHRANICNI_UCETNAZEV TYPE STRING,
UCETZAHRANICNI_BANKANAZEV TYPE STRING,
UCETZAHRANICNI_BANKATYPID TYPE STRING,
UCETZAHRANICNI_BANKAKOD TYPE STRING,
UCETZAHRANICNI_OBEC TYPE STRING,
UCETZAHRANICNI_ULICE TYPE STRING,
UCETZAHRANICNI_CISLOPOPIS TYPE STRING,
UCETZAHRANICNI_CISLOORIENT TYPE STRING,
UCETZAHRANICNI_PSC TYPE STRING,END OF T_EKKO_STR. DATA: WA_P18_NEMPRI_2011_SCREEN_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_P18_NEMPRI_2011_SCREEN_STR-PERNR sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-JMENO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-PRIJMENI sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RODNECISLO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_NEMOC sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_OSETROV sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_PPM sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_VPPTM sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_OPP sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_DLO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-CISPOTDPN sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-CISPOTOCR sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-CISPOTDLO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-DRUHDAVKY sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-OPRAVNEPODANI sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-CISLOPOTVRZENI sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-ZAHRANICNI sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-VSZAMESTNAVATEL sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-ICZAMESTNAVATEL sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-NAZEVZAMESTNAVATEL sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-KODOSSZ sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-NAZEVOSSZ sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-ZAMESTNANOD sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-ZAMESTNANDO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-DRUHCINNOSTI sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_A_ANO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_A_NE sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-POCETODPRACOVANYCHHODIN sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-PRACOVNIDOBA sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-PRIJEMMALYROZSAH sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_C_ANO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_C_NE sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-POBIRADUCHOD sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-DRUHDUCHODU sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_D1_ANO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_D1_NE sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-JESTUDENTEM sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_D2_ANO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_D2_NE sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-SPADADOPRAZDNIN sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_E_ANO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_E_NE sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_J_ANO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_J_NE sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-VOLNOBEZNAHRADYOD sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-VOLNOBEZNAHRADYDO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_G_ANO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_G_NE sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-NASTUPUJEPPM sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-NAROZENIDITETE sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-NEREDUKOVANYDVZPPM sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_H_NE sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_H_ANO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-DATUMNAJINOUPRACI sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_I_NE sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_I_ANO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-DALSISDELENI sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-KONTAKTNIPRACOVNIK sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-KONTAKTNITELEFON sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-KONTAKTNIEMAIL sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-PODANOV sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-ROZHODNEOBDOBIOD sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-ROZHODNEOBDOBIDO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-ZAPOCITATELNYPRIJEMCELKEM sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-VYLOUCENEDNYCELKEM sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-PRAVDEPODOBNAVYSEPRIJMU sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_EX_ANO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_EX_NE sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_IN_ANO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_IN_NE sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-GUID_ATTACHMENT sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-VYPLATITUCETCR sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-VYPLATITUCETCIZINA sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-VYPLATITADRESA sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-VYPLATITHOTOVOST sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_VYP_UCETCR sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_VYP_UCETCIZINA sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_VYP_ADRESA sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-RB_VYP_HOTOVOST sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-ADRESA_OBEC sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-ADRESA_ULICE sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-ADRESA_CISLOPOPIS sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-ADRESA_CISLOORIENT sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-ADRESA_PSC sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-UCETCZ_PREDCISLI sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-UCETCZ_UCETCISLO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-UCETCZ_SPECSYMBOL sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-UCETCZ_BANKAKOD sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-UCETZAHRANICNI_STAT sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-UCETZAHRANICNI_IBAN sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-UCETZAHRANICNI_UCETCISLO sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-UCETZAHRANICNI_UCETNAZEV sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-UCETZAHRANICNI_BANKANAZEV sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-UCETZAHRANICNI_BANKATYPID sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-UCETZAHRANICNI_BANKAKOD sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-UCETZAHRANICNI_OBEC sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-UCETZAHRANICNI_ULICE sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-UCETZAHRANICNI_CISLOPOPIS sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-UCETZAHRANICNI_CISLOORIENT sy-vline
WA_P18_NEMPRI_2011_SCREEN_STR-UCETZAHRANICNI_PSC sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.