ABAP Select data from SAP table PMX_DAN_PDF 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 PMX_DAN_PDF 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 PMX_DAN_PDF. 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 PMX_DAN_PDF 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_PMX_DAN_PDF TYPE STANDARD TABLE OF PMX_DAN_PDF,
      WA_PMX_DAN_PDF TYPE PMX_DAN_PDF,
      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: <PMX_DAN_PDF> TYPE PMX_DAN_PDF.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PMX_DAN_PDF
*  INTO TABLE @DATA(IT_PMX_DAN_PDF2).
*--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_PMX_DAN_PDF INDEX 1 INTO DATA(WA_PMX_DAN_PDF2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PMX_DAN_PDF ASSIGNING <PMX_DAN_PDF>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PMX_DAN_PDF>-MESINI = 1.
<PMX_DAN_PDF>-MESFIN = 1.
<PMX_DAN_PDF>-YEAR = 1.
<PMX_DAN_PDF>-ICNUM = 1.
<PMX_DAN_PDF>-PERID = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PMX_DAN_PDF-APEPAT, sy-vline,
WA_PMX_DAN_PDF-APEMAT, sy-vline,
WA_PMX_DAN_PDF-NOMBRE, sy-vline,
WA_PMX_DAN_PDF-AREAGEO, sy-vline,
WA_PMX_DAN_PDF-CALCISR, sy-vline,
WA_PMX_DAN_PDF-TARUTILA, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PMX_DAN_PDF 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_PMX_DAN_PDF 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_PMX_DAN_PDF INTO WA_PMX_DAN_PDF. *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.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_PMX_DAN_PDF_STR,
MESINI TYPE STRING,
MESFIN TYPE STRING,
YEAR TYPE STRING,
ICNUM TYPE STRING,
PERID TYPE STRING,
APEPAT TYPE STRING,
APEMAT TYPE STRING,
NOMBRE TYPE STRING,
AREAGEO TYPE STRING,
CALCISR TYPE STRING,
TARUTILA TYPE STRING,
TARUTILB TYPE STRING,
SINDICAL TYPE STRING,
CLAVASIM TYPE STRING,
ENTFED TYPE STRING,
RFCOTRO TYPE STRING,
RFCOTRO1 TYPE STRING,
RFCOTRO2 TYPE STRING,
MONAVEFEC TYPE STRING,
APOVOLCIMP TYPE STRING,
MONAVDEDT TYPE STRING,
MONAVDEDP TYPE STRING,
TOTSUESAL TYPE STRING,
CERO TYPE STRING,
INGEXENT2 TYPE STRING,
TOTAPVDED TYPE STRING,
INGNOACU2 TYPE STRING,
INGACUMU2 TYPE STRING,
IMPTARANU TYPE STRING,
MONSUBACR TYPE STRING,
MONSUBNOA TYPE STRING,
SUBEMPTRA TYPE STRING,
MONSUBFR3 TYPE STRING,
MONSUBFR4 TYPE STRING,
IMPINGACU TYPE STRING,
IMPINGNOA TYPE STRING,
IMPSOBREN TYPE STRING,
IMPRETEN3 TYPE STRING,
MONTOTUNA TYPE STRING,
INGTOTPAR TYPE STRING,
MONDIAJUB TYPE STRING,
INGSINJUB TYPE STRING,
NUMDIAS TYPE STRING,
INGEXEPEN TYPE STRING,
INGGRAPEN TYPE STRING,
INGACUPEN TYPE STRING,
INGNOAPEN TYPE STRING,
IMPRETPEN TYPE STRING,
P_DEC TYPE STRING,
P_FOL TYPE STRING,
MONTOTSEP TYPE STRING,
NUMYEARS TYPE STRING,
INGEXESEP TYPE STRING,
INGGRASEP TYPE STRING,
INGULTSUE TYPE STRING,
IMPULTSUE TYPE STRING,
INGNOACU1 TYPE STRING,
IMPRETTER TYPE STRING,
VALMERACC TYPE STRING,
PREOTOOOC TYPE STRING,
INFACUACC TYPE STRING,
IMPRETACC TYPE STRING,
INGASISAL TYPE STRING,
IMPRETEN2 TYPE STRING,
SUELDOS TYPE STRING,
GRATIFI TYPE STRING,
VIATICO TYPE STRING,
TEXTRA TYPE STRING,
PRIMAVAC TYPE STRING,
PRIMADOM TYPE STRING,
PTUTRAB TYPE STRING,
GASTMED TYPE STRING,
FONDIAHO TYPE STRING,
CAJAAHO TYPE STRING,
VALESDES TYPE STRING,
GASTFUNE TYPE STRING,
CONTRPAT TYPE STRING,
PREPUNT TYPE STRING,
PRISEGV TYPE STRING,
GASTMEDM TYPE STRING,
VALESRES TYPE STRING,
VALESGAS TYPE STRING,
SUELDOSEX TYPE STRING,
GRATIFIEX TYPE STRING,
VIATICOEX TYPE STRING,
TEXTRAEX TYPE STRING,
PRIMAVACEX TYPE STRING,
PRIMADOMEX TYPE STRING,
PTUTRABEX TYPE STRING,
GASTMEDEX TYPE STRING,
FONDIAHOEX TYPE STRING,
CAJAAHOEX TYPE STRING,
VALESDESEX TYPE STRING,
GASTFUNEEX TYPE STRING,
CONTRPATEX TYPE STRING,
PREPUNTEX TYPE STRING,
PRISEGVEX TYPE STRING,
GASTMEDMEX TYPE STRING,
VALESRESEX TYPE STRING,
VALESGASEX TYPE STRING,
VALESROP TYPE STRING,
AYUDAREN TYPE STRING,
AYUDAESC TYPE STRING,
AYUDALEN TYPE STRING,
AYUDATRA TYPE STRING,
CUOTASIN TYPE STRING,
SUBSINCA TYPE STRING,
BECAS TYPE STRING,
OTREMP TYPE STRING,
OTRSING TYPE STRING,
VALESROPEX TYPE STRING,
AYUDARENEX TYPE STRING,
AYUDAESCEX TYPE STRING,
AYUDALENEX TYPE STRING,
AYUDATRAEX TYPE STRING,
CUOTASINEX TYPE STRING,
SUBSINCAEX TYPE STRING,
BECASEX TYPE STRING,
OTREMPEX TYPE STRING,
OTRSINGEX TYPE STRING,
SUMINGGRA TYPE STRING,
SUMINGEXE TYPE STRING,
SUMING TYPE STRING,
IMPRETEJE TYPE STRING,
IMPRETOTR TYPE STRING,
SALFAVEJE TYPE STRING,
SALFAVNO TYPE STRING,
SUMCRESAL TYPE STRING,
CRESALEFE TYPE STRING,
MONPRESOC TYPE STRING,
SUMEXEPRE TYPE STRING,
MONSUBEMP TYPE STRING,
RFCCOM TYPE STRING,
NAME1 TYPE STRING,
RFCREP TYPE STRING,
PERIDREP TYPE STRING,
NOMREP TYPE STRING,
WAERS TYPE STRING,END OF T_EKKO_STR. DATA: WA_PMX_DAN_PDF_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_PMX_DAN_PDF_STR-MESINI sy-vline
WA_PMX_DAN_PDF_STR-MESFIN sy-vline
WA_PMX_DAN_PDF_STR-YEAR sy-vline
WA_PMX_DAN_PDF_STR-ICNUM sy-vline
WA_PMX_DAN_PDF_STR-PERID sy-vline
WA_PMX_DAN_PDF_STR-APEPAT sy-vline
WA_PMX_DAN_PDF_STR-APEMAT sy-vline
WA_PMX_DAN_PDF_STR-NOMBRE sy-vline
WA_PMX_DAN_PDF_STR-AREAGEO sy-vline
WA_PMX_DAN_PDF_STR-CALCISR sy-vline
WA_PMX_DAN_PDF_STR-TARUTILA sy-vline
WA_PMX_DAN_PDF_STR-TARUTILB sy-vline
WA_PMX_DAN_PDF_STR-SINDICAL sy-vline
WA_PMX_DAN_PDF_STR-CLAVASIM sy-vline
WA_PMX_DAN_PDF_STR-ENTFED sy-vline
WA_PMX_DAN_PDF_STR-RFCOTRO sy-vline
WA_PMX_DAN_PDF_STR-RFCOTRO1 sy-vline
WA_PMX_DAN_PDF_STR-RFCOTRO2 sy-vline
WA_PMX_DAN_PDF_STR-MONAVEFEC sy-vline
WA_PMX_DAN_PDF_STR-APOVOLCIMP sy-vline
WA_PMX_DAN_PDF_STR-MONAVDEDT sy-vline
WA_PMX_DAN_PDF_STR-MONAVDEDP sy-vline
WA_PMX_DAN_PDF_STR-TOTSUESAL sy-vline
WA_PMX_DAN_PDF_STR-CERO sy-vline
WA_PMX_DAN_PDF_STR-INGEXENT2 sy-vline
WA_PMX_DAN_PDF_STR-TOTAPVDED sy-vline
WA_PMX_DAN_PDF_STR-INGNOACU2 sy-vline
WA_PMX_DAN_PDF_STR-INGACUMU2 sy-vline
WA_PMX_DAN_PDF_STR-IMPTARANU sy-vline
WA_PMX_DAN_PDF_STR-MONSUBACR sy-vline
WA_PMX_DAN_PDF_STR-MONSUBNOA sy-vline
WA_PMX_DAN_PDF_STR-SUBEMPTRA sy-vline
WA_PMX_DAN_PDF_STR-MONSUBFR3 sy-vline
WA_PMX_DAN_PDF_STR-MONSUBFR4 sy-vline
WA_PMX_DAN_PDF_STR-IMPINGACU sy-vline
WA_PMX_DAN_PDF_STR-IMPINGNOA sy-vline
WA_PMX_DAN_PDF_STR-IMPSOBREN sy-vline
WA_PMX_DAN_PDF_STR-IMPRETEN3 sy-vline
WA_PMX_DAN_PDF_STR-MONTOTUNA sy-vline
WA_PMX_DAN_PDF_STR-INGTOTPAR sy-vline
WA_PMX_DAN_PDF_STR-MONDIAJUB sy-vline
WA_PMX_DAN_PDF_STR-INGSINJUB sy-vline
WA_PMX_DAN_PDF_STR-NUMDIAS sy-vline
WA_PMX_DAN_PDF_STR-INGEXEPEN sy-vline
WA_PMX_DAN_PDF_STR-INGGRAPEN sy-vline
WA_PMX_DAN_PDF_STR-INGACUPEN sy-vline
WA_PMX_DAN_PDF_STR-INGNOAPEN sy-vline
WA_PMX_DAN_PDF_STR-IMPRETPEN sy-vline
WA_PMX_DAN_PDF_STR-P_DEC sy-vline
WA_PMX_DAN_PDF_STR-P_FOL sy-vline
WA_PMX_DAN_PDF_STR-MONTOTSEP sy-vline
WA_PMX_DAN_PDF_STR-NUMYEARS sy-vline
WA_PMX_DAN_PDF_STR-INGEXESEP sy-vline
WA_PMX_DAN_PDF_STR-INGGRASEP sy-vline
WA_PMX_DAN_PDF_STR-INGULTSUE sy-vline
WA_PMX_DAN_PDF_STR-IMPULTSUE sy-vline
WA_PMX_DAN_PDF_STR-INGNOACU1 sy-vline
WA_PMX_DAN_PDF_STR-IMPRETTER sy-vline
WA_PMX_DAN_PDF_STR-VALMERACC sy-vline
WA_PMX_DAN_PDF_STR-PREOTOOOC sy-vline
WA_PMX_DAN_PDF_STR-INFACUACC sy-vline
WA_PMX_DAN_PDF_STR-IMPRETACC sy-vline
WA_PMX_DAN_PDF_STR-INGASISAL sy-vline
WA_PMX_DAN_PDF_STR-IMPRETEN2 sy-vline
WA_PMX_DAN_PDF_STR-SUELDOS sy-vline
WA_PMX_DAN_PDF_STR-GRATIFI sy-vline
WA_PMX_DAN_PDF_STR-VIATICO sy-vline
WA_PMX_DAN_PDF_STR-TEXTRA sy-vline
WA_PMX_DAN_PDF_STR-PRIMAVAC sy-vline
WA_PMX_DAN_PDF_STR-PRIMADOM sy-vline
WA_PMX_DAN_PDF_STR-PTUTRAB sy-vline
WA_PMX_DAN_PDF_STR-GASTMED sy-vline
WA_PMX_DAN_PDF_STR-FONDIAHO sy-vline
WA_PMX_DAN_PDF_STR-CAJAAHO sy-vline
WA_PMX_DAN_PDF_STR-VALESDES sy-vline
WA_PMX_DAN_PDF_STR-GASTFUNE sy-vline
WA_PMX_DAN_PDF_STR-CONTRPAT sy-vline
WA_PMX_DAN_PDF_STR-PREPUNT sy-vline
WA_PMX_DAN_PDF_STR-PRISEGV sy-vline
WA_PMX_DAN_PDF_STR-GASTMEDM sy-vline
WA_PMX_DAN_PDF_STR-VALESRES sy-vline
WA_PMX_DAN_PDF_STR-VALESGAS sy-vline
WA_PMX_DAN_PDF_STR-SUELDOSEX sy-vline
WA_PMX_DAN_PDF_STR-GRATIFIEX sy-vline
WA_PMX_DAN_PDF_STR-VIATICOEX sy-vline
WA_PMX_DAN_PDF_STR-TEXTRAEX sy-vline
WA_PMX_DAN_PDF_STR-PRIMAVACEX sy-vline
WA_PMX_DAN_PDF_STR-PRIMADOMEX sy-vline
WA_PMX_DAN_PDF_STR-PTUTRABEX sy-vline
WA_PMX_DAN_PDF_STR-GASTMEDEX sy-vline
WA_PMX_DAN_PDF_STR-FONDIAHOEX sy-vline
WA_PMX_DAN_PDF_STR-CAJAAHOEX sy-vline
WA_PMX_DAN_PDF_STR-VALESDESEX sy-vline
WA_PMX_DAN_PDF_STR-GASTFUNEEX sy-vline
WA_PMX_DAN_PDF_STR-CONTRPATEX sy-vline
WA_PMX_DAN_PDF_STR-PREPUNTEX sy-vline
WA_PMX_DAN_PDF_STR-PRISEGVEX sy-vline
WA_PMX_DAN_PDF_STR-GASTMEDMEX sy-vline
WA_PMX_DAN_PDF_STR-VALESRESEX sy-vline
WA_PMX_DAN_PDF_STR-VALESGASEX sy-vline
WA_PMX_DAN_PDF_STR-VALESROP sy-vline
WA_PMX_DAN_PDF_STR-AYUDAREN sy-vline
WA_PMX_DAN_PDF_STR-AYUDAESC sy-vline
WA_PMX_DAN_PDF_STR-AYUDALEN sy-vline
WA_PMX_DAN_PDF_STR-AYUDATRA sy-vline
WA_PMX_DAN_PDF_STR-CUOTASIN sy-vline
WA_PMX_DAN_PDF_STR-SUBSINCA sy-vline
WA_PMX_DAN_PDF_STR-BECAS sy-vline
WA_PMX_DAN_PDF_STR-OTREMP sy-vline
WA_PMX_DAN_PDF_STR-OTRSING sy-vline
WA_PMX_DAN_PDF_STR-VALESROPEX sy-vline
WA_PMX_DAN_PDF_STR-AYUDARENEX sy-vline
WA_PMX_DAN_PDF_STR-AYUDAESCEX sy-vline
WA_PMX_DAN_PDF_STR-AYUDALENEX sy-vline
WA_PMX_DAN_PDF_STR-AYUDATRAEX sy-vline
WA_PMX_DAN_PDF_STR-CUOTASINEX sy-vline
WA_PMX_DAN_PDF_STR-SUBSINCAEX sy-vline
WA_PMX_DAN_PDF_STR-BECASEX sy-vline
WA_PMX_DAN_PDF_STR-OTREMPEX sy-vline
WA_PMX_DAN_PDF_STR-OTRSINGEX sy-vline
WA_PMX_DAN_PDF_STR-SUMINGGRA sy-vline
WA_PMX_DAN_PDF_STR-SUMINGEXE sy-vline
WA_PMX_DAN_PDF_STR-SUMING sy-vline
WA_PMX_DAN_PDF_STR-IMPRETEJE sy-vline
WA_PMX_DAN_PDF_STR-IMPRETOTR sy-vline
WA_PMX_DAN_PDF_STR-SALFAVEJE sy-vline
WA_PMX_DAN_PDF_STR-SALFAVNO sy-vline
WA_PMX_DAN_PDF_STR-SUMCRESAL sy-vline
WA_PMX_DAN_PDF_STR-CRESALEFE sy-vline
WA_PMX_DAN_PDF_STR-MONPRESOC sy-vline
WA_PMX_DAN_PDF_STR-SUMEXEPRE sy-vline
WA_PMX_DAN_PDF_STR-MONSUBEMP sy-vline
WA_PMX_DAN_PDF_STR-RFCCOM sy-vline
WA_PMX_DAN_PDF_STR-NAME1 sy-vline
WA_PMX_DAN_PDF_STR-RFCREP sy-vline
WA_PMX_DAN_PDF_STR-PERIDREP sy-vline
WA_PMX_DAN_PDF_STR-NOMREP sy-vline
WA_PMX_DAN_PDF_STR-WAERS sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.