ABAP Select data from SAP table PMX_FORM_CAFL0 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_FORM_CAFL0 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_FORM_CAFL0. 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_FORM_CAFL0 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_FORM_CAFL0 TYPE STANDARD TABLE OF PMX_FORM_CAFL0,
      WA_PMX_FORM_CAFL0 TYPE PMX_FORM_CAFL0,
      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_FORM_CAFL0> TYPE PMX_FORM_CAFL0.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PMX_FORM_CAFL0
*  INTO TABLE @DATA(IT_PMX_FORM_CAFL02).
*--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_FORM_CAFL0 INDEX 1 INTO DATA(WA_PMX_FORM_CAFL02).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PMX_FORM_CAFL0 ASSIGNING <PMX_FORM_CAFL0>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PMX_FORM_CAFL0>-TRASOC = 1.
<PMX_FORM_CAFL0>-CREPAT1 = 1.
<PMX_FORM_CAFL0>-CREPAT10 = 1.
<PMX_FORM_CAFL0>-CNOMBRE = 1.
<PMX_FORM_CAFL0>-CNACHN = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PMX_FORM_CAFL0-CNACH2, sy-vline,
WA_PMX_FORM_CAFL0-CVORNA, sy-vline,
WA_PMX_FORM_CAFL0-CTIPCONT, sy-vline,
WA_PMX_FORM_CAFL0-CPERMA, sy-vline,
WA_PMX_FORM_CAFL0-CEVENT, sy-vline,
WA_PMX_FORM_CAFL0-CEVE_CO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PMX_FORM_CAFL0 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_FORM_CAFL0 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_FORM_CAFL0 INTO WA_PMX_FORM_CAFL0. *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 PDATE, internal->external for field HFEC_NAC CALL FUNCTION 'CONVERSION_EXIT_PDATE_OUTPUT' EXPORTING input = WA_PMX_FORM_CAFL0-HFEC_NAC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PMX_FORM_CAFL0-HFEC_NAC.
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_PMX_FORM_CAFL0_STR,
TRASOC TYPE STRING,
CREPAT1 TYPE STRING,
CREPAT10 TYPE STRING,
CNOMBRE TYPE STRING,
CNACHN TYPE STRING,
CNACH2 TYPE STRING,
CVORNA TYPE STRING,
CTIPCONT TYPE STRING,
CPERMA TYPE STRING,
CEVENT TYPE STRING,
CEVE_CO TYPE STRING,
CFMOVTO TYPE STRING,
CPERNR TYPE STRING,
CNIMSS1 TYPE STRING,
CNIMSS10 TYPE STRING,
CRFC TYPE STRING,
CCURP TYPE STRING,
CSALDIA TYPE STRING,
CSDI TYPE STRING,
CSDIANT TYPE STRING,
CTIPOSAL TYPE STRING,
CFIJO TYPE STRING,
CVARIA TYPE STRING,
CMIXTO TYPE STRING,
CJORSEMRED TYPE STRING,
CTJRED TYPE STRING,
CIJRED TYPE STRING,
CPLSTX TYPE STRING,
CNUGUI TYPE STRING,
CREPLE TYPE STRING,
CFEREP TYPE STRING,
CSEQNR TYPE STRING,
CAEDTM TYPE STRING,
CUNAME TYPE STRING,
CSDIA TYPE STRING,
CSDIFJ TYPE STRING,
CSDIVR TYPE STRING,
CSDIMX TYPE STRING,
FREPAT1 TYPE STRING,
FREPAT10 TYPE STRING,
FRFC TYPE STRING,
FCURP TYPE STRING,
FNOMBRE TYPE STRING,
FNACHN TYPE STRING,
FNACH2 TYPE STRING,
FVORNA TYPE STRING,
FFMOVTO TYPE STRING,
FPERNR TYPE STRING,
FNIMSS1 TYPE STRING,
FNIMSS10 TYPE STRING,
FNUGUI TYPE STRING,
FREPLE TYPE STRING,
FMASSN TYPE STRING,
FMASSG TYPE STRING,
FFEREP TYPE STRING,
FSEQNR TYPE STRING,
FAEDTM TYPE STRING,
FUNAME TYPE STRING,
FSDIA TYPE STRING,
FSDIFJ TYPE STRING,
FSDIVR TYPE STRING,
FSDIMX TYPE STRING,
HREPAT1 TYPE STRING,
HREPAT10 TYPE STRING,
HNOMBRE TYPE STRING,
HNACHN TYPE STRING,
HNACH2 TYPE STRING,
HVORNA TYPE STRING,
HPERMA TYPE STRING,
HEVENT TYPE STRING,
HEVE_CO TYPE STRING,
HFMOVTO TYPE STRING,
HNIMSS1 TYPE STRING,
HNIMSS10 TYPE STRING,
HRFC TYPE STRING,
HCURP TYPE STRING,
HSALDIA TYPE STRING,
HSDI TYPE STRING,
HSDIANT TYPE STRING,
HTIPOSAL TYPE STRING,
HFIJO TYPE STRING,
HVARIA TYPE STRING,
HMIXTO TYPE STRING,
HJORSEMRED TYPE STRING,
HTJRED TYPE STRING,
HIJRED TYPE STRING,
HPLSTX TYPE STRING,
HNUGUI TYPE STRING,
HREPLE TYPE STRING,
HFEREP TYPE STRING,
HSEQNR TYPE STRING,
HAEDTM TYPE STRING,
HUNAME TYPE STRING,
HSDIA TYPE STRING,
HSDIFJ TYPE STRING,
HSDIVR TYPE STRING,
HSDIMX TYPE STRING,
HINGSUA_NOMB TYPE STRING,
HTIPCONT TYPE STRING,
HGESCH TYPE STRING,
HMASCULINO TYPE STRING,
HFEMENINO TYPE STRING,
HLUG_NAC TYPE STRING,
HFEC_NAC TYPE STRING,
HNOMBRE_PADRE TYPE STRING,
HNOMBRE_MADRE TYPE STRING,
HDOM_TRAB1 TYPE STRING,
HDOM_TRAB2 TYPE STRING,
HUMF TYPE STRING,
HREENTRY TYPE STRING,
HNUCRI TYPE STRING,
HFCRED TYPE STRING,
HTDINF TYPE STRING,
HVDESC TYPE STRING,
HPERNR TYPE STRING,
STRAS TYPE STRING,
HSNMR TYPE STRING,
ORT02 TYPE STRING,
LAND1 TYPE STRING,
STATE TYPE STRING,
BEZEI TYPE STRING,
MUNIC TYPE STRING,
TMUNI TYPE STRING,
PSTLZ TYPE STRING,
RASOC TYPE STRING,
NUMINT TYPE STRING,
PLSTX TYPE STRING,
WAERS TYPE STRING,END OF T_EKKO_STR. DATA: WA_PMX_FORM_CAFL0_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_FORM_CAFL0_STR-TRASOC sy-vline
WA_PMX_FORM_CAFL0_STR-CREPAT1 sy-vline
WA_PMX_FORM_CAFL0_STR-CREPAT10 sy-vline
WA_PMX_FORM_CAFL0_STR-CNOMBRE sy-vline
WA_PMX_FORM_CAFL0_STR-CNACHN sy-vline
WA_PMX_FORM_CAFL0_STR-CNACH2 sy-vline
WA_PMX_FORM_CAFL0_STR-CVORNA sy-vline
WA_PMX_FORM_CAFL0_STR-CTIPCONT sy-vline
WA_PMX_FORM_CAFL0_STR-CPERMA sy-vline
WA_PMX_FORM_CAFL0_STR-CEVENT sy-vline
WA_PMX_FORM_CAFL0_STR-CEVE_CO sy-vline
WA_PMX_FORM_CAFL0_STR-CFMOVTO sy-vline
WA_PMX_FORM_CAFL0_STR-CPERNR sy-vline
WA_PMX_FORM_CAFL0_STR-CNIMSS1 sy-vline
WA_PMX_FORM_CAFL0_STR-CNIMSS10 sy-vline
WA_PMX_FORM_CAFL0_STR-CRFC sy-vline
WA_PMX_FORM_CAFL0_STR-CCURP sy-vline
WA_PMX_FORM_CAFL0_STR-CSALDIA sy-vline
WA_PMX_FORM_CAFL0_STR-CSDI sy-vline
WA_PMX_FORM_CAFL0_STR-CSDIANT sy-vline
WA_PMX_FORM_CAFL0_STR-CTIPOSAL sy-vline
WA_PMX_FORM_CAFL0_STR-CFIJO sy-vline
WA_PMX_FORM_CAFL0_STR-CVARIA sy-vline
WA_PMX_FORM_CAFL0_STR-CMIXTO sy-vline
WA_PMX_FORM_CAFL0_STR-CJORSEMRED sy-vline
WA_PMX_FORM_CAFL0_STR-CTJRED sy-vline
WA_PMX_FORM_CAFL0_STR-CIJRED sy-vline
WA_PMX_FORM_CAFL0_STR-CPLSTX sy-vline
WA_PMX_FORM_CAFL0_STR-CNUGUI sy-vline
WA_PMX_FORM_CAFL0_STR-CREPLE sy-vline
WA_PMX_FORM_CAFL0_STR-CFEREP sy-vline
WA_PMX_FORM_CAFL0_STR-CSEQNR sy-vline
WA_PMX_FORM_CAFL0_STR-CAEDTM sy-vline
WA_PMX_FORM_CAFL0_STR-CUNAME sy-vline
WA_PMX_FORM_CAFL0_STR-CSDIA sy-vline
WA_PMX_FORM_CAFL0_STR-CSDIFJ sy-vline
WA_PMX_FORM_CAFL0_STR-CSDIVR sy-vline
WA_PMX_FORM_CAFL0_STR-CSDIMX sy-vline
WA_PMX_FORM_CAFL0_STR-FREPAT1 sy-vline
WA_PMX_FORM_CAFL0_STR-FREPAT10 sy-vline
WA_PMX_FORM_CAFL0_STR-FRFC sy-vline
WA_PMX_FORM_CAFL0_STR-FCURP sy-vline
WA_PMX_FORM_CAFL0_STR-FNOMBRE sy-vline
WA_PMX_FORM_CAFL0_STR-FNACHN sy-vline
WA_PMX_FORM_CAFL0_STR-FNACH2 sy-vline
WA_PMX_FORM_CAFL0_STR-FVORNA sy-vline
WA_PMX_FORM_CAFL0_STR-FFMOVTO sy-vline
WA_PMX_FORM_CAFL0_STR-FPERNR sy-vline
WA_PMX_FORM_CAFL0_STR-FNIMSS1 sy-vline
WA_PMX_FORM_CAFL0_STR-FNIMSS10 sy-vline
WA_PMX_FORM_CAFL0_STR-FNUGUI sy-vline
WA_PMX_FORM_CAFL0_STR-FREPLE sy-vline
WA_PMX_FORM_CAFL0_STR-FMASSN sy-vline
WA_PMX_FORM_CAFL0_STR-FMASSG sy-vline
WA_PMX_FORM_CAFL0_STR-FFEREP sy-vline
WA_PMX_FORM_CAFL0_STR-FSEQNR sy-vline
WA_PMX_FORM_CAFL0_STR-FAEDTM sy-vline
WA_PMX_FORM_CAFL0_STR-FUNAME sy-vline
WA_PMX_FORM_CAFL0_STR-FSDIA sy-vline
WA_PMX_FORM_CAFL0_STR-FSDIFJ sy-vline
WA_PMX_FORM_CAFL0_STR-FSDIVR sy-vline
WA_PMX_FORM_CAFL0_STR-FSDIMX sy-vline
WA_PMX_FORM_CAFL0_STR-HREPAT1 sy-vline
WA_PMX_FORM_CAFL0_STR-HREPAT10 sy-vline
WA_PMX_FORM_CAFL0_STR-HNOMBRE sy-vline
WA_PMX_FORM_CAFL0_STR-HNACHN sy-vline
WA_PMX_FORM_CAFL0_STR-HNACH2 sy-vline
WA_PMX_FORM_CAFL0_STR-HVORNA sy-vline
WA_PMX_FORM_CAFL0_STR-HPERMA sy-vline
WA_PMX_FORM_CAFL0_STR-HEVENT sy-vline
WA_PMX_FORM_CAFL0_STR-HEVE_CO sy-vline
WA_PMX_FORM_CAFL0_STR-HFMOVTO sy-vline
WA_PMX_FORM_CAFL0_STR-HNIMSS1 sy-vline
WA_PMX_FORM_CAFL0_STR-HNIMSS10 sy-vline
WA_PMX_FORM_CAFL0_STR-HRFC sy-vline
WA_PMX_FORM_CAFL0_STR-HCURP sy-vline
WA_PMX_FORM_CAFL0_STR-HSALDIA sy-vline
WA_PMX_FORM_CAFL0_STR-HSDI sy-vline
WA_PMX_FORM_CAFL0_STR-HSDIANT sy-vline
WA_PMX_FORM_CAFL0_STR-HTIPOSAL sy-vline
WA_PMX_FORM_CAFL0_STR-HFIJO sy-vline
WA_PMX_FORM_CAFL0_STR-HVARIA sy-vline
WA_PMX_FORM_CAFL0_STR-HMIXTO sy-vline
WA_PMX_FORM_CAFL0_STR-HJORSEMRED sy-vline
WA_PMX_FORM_CAFL0_STR-HTJRED sy-vline
WA_PMX_FORM_CAFL0_STR-HIJRED sy-vline
WA_PMX_FORM_CAFL0_STR-HPLSTX sy-vline
WA_PMX_FORM_CAFL0_STR-HNUGUI sy-vline
WA_PMX_FORM_CAFL0_STR-HREPLE sy-vline
WA_PMX_FORM_CAFL0_STR-HFEREP sy-vline
WA_PMX_FORM_CAFL0_STR-HSEQNR sy-vline
WA_PMX_FORM_CAFL0_STR-HAEDTM sy-vline
WA_PMX_FORM_CAFL0_STR-HUNAME sy-vline
WA_PMX_FORM_CAFL0_STR-HSDIA sy-vline
WA_PMX_FORM_CAFL0_STR-HSDIFJ sy-vline
WA_PMX_FORM_CAFL0_STR-HSDIVR sy-vline
WA_PMX_FORM_CAFL0_STR-HSDIMX sy-vline
WA_PMX_FORM_CAFL0_STR-HINGSUA_NOMB sy-vline
WA_PMX_FORM_CAFL0_STR-HTIPCONT sy-vline
WA_PMX_FORM_CAFL0_STR-HGESCH sy-vline
WA_PMX_FORM_CAFL0_STR-HMASCULINO sy-vline
WA_PMX_FORM_CAFL0_STR-HFEMENINO sy-vline
WA_PMX_FORM_CAFL0_STR-HLUG_NAC sy-vline
WA_PMX_FORM_CAFL0_STR-HFEC_NAC sy-vline
WA_PMX_FORM_CAFL0_STR-HNOMBRE_PADRE sy-vline
WA_PMX_FORM_CAFL0_STR-HNOMBRE_MADRE sy-vline
WA_PMX_FORM_CAFL0_STR-HDOM_TRAB1 sy-vline
WA_PMX_FORM_CAFL0_STR-HDOM_TRAB2 sy-vline
WA_PMX_FORM_CAFL0_STR-HUMF sy-vline
WA_PMX_FORM_CAFL0_STR-HREENTRY sy-vline
WA_PMX_FORM_CAFL0_STR-HNUCRI sy-vline
WA_PMX_FORM_CAFL0_STR-HFCRED sy-vline
WA_PMX_FORM_CAFL0_STR-HTDINF sy-vline
WA_PMX_FORM_CAFL0_STR-HVDESC sy-vline
WA_PMX_FORM_CAFL0_STR-HPERNR sy-vline
WA_PMX_FORM_CAFL0_STR-STRAS sy-vline
WA_PMX_FORM_CAFL0_STR-HSNMR sy-vline
WA_PMX_FORM_CAFL0_STR-ORT02 sy-vline
WA_PMX_FORM_CAFL0_STR-LAND1 sy-vline
WA_PMX_FORM_CAFL0_STR-STATE sy-vline
WA_PMX_FORM_CAFL0_STR-BEZEI sy-vline
WA_PMX_FORM_CAFL0_STR-MUNIC sy-vline
WA_PMX_FORM_CAFL0_STR-TMUNI sy-vline
WA_PMX_FORM_CAFL0_STR-PSTLZ sy-vline
WA_PMX_FORM_CAFL0_STR-RASOC sy-vline
WA_PMX_FORM_CAFL0_STR-NUMINT sy-vline
WA_PMX_FORM_CAFL0_STR-PLSTX sy-vline
WA_PMX_FORM_CAFL0_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.