ABAP Select data from SAP table FAP_SPP_S_PAYTPROPOSAL 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 FAP_SPP_S_PAYTPROPOSAL 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 FAP_SPP_S_PAYTPROPOSAL. 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 FAP_SPP_S_PAYTPROPOSAL 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_FAP_SPP_S_PAYTPROPOSAL TYPE STANDARD TABLE OF FAP_SPP_S_PAYTPROPOSAL,
      WA_FAP_SPP_S_PAYTPROPOSAL TYPE FAP_SPP_S_PAYTPROPOSAL,
      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: <FAP_SPP_S_PAYTPROPOSAL> TYPE FAP_SPP_S_PAYTPROPOSAL.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM FAP_SPP_S_PAYTPROPOSAL
*  INTO TABLE @DATA(IT_FAP_SPP_S_PAYTPROPOSAL2).
*--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_FAP_SPP_S_PAYTPROPOSAL INDEX 1 INTO DATA(WA_FAP_SPP_S_PAYTPROPOSAL2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_FAP_SPP_S_PAYTPROPOSAL ASSIGNING <FAP_SPP_S_PAYTPROPOSAL>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<FAP_SPP_S_PAYTPROPOSAL>-RUNDATE = 1.
<FAP_SPP_S_PAYTPROPOSAL>-RUNID = 1.
<FAP_SPP_S_PAYTPROPOSAL>-STATUS = 1.
<FAP_SPP_S_PAYTPROPOSAL>-STATUSTEXT = 1.
<FAP_SPP_S_PAYTPROPOSAL>-PAYTAMTLC = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_FAP_SPP_S_PAYTPROPOSAL-LOCALCURRENCY, sy-vline,
WA_FAP_SPP_S_PAYTPROPOSAL-CREATEDBY, sy-vline,
WA_FAP_SPP_S_PAYTPROPOSAL-CREATEDBYNAME, sy-vline,
WA_FAP_SPP_S_PAYTPROPOSAL-LOG, sy-vline,
WA_FAP_SPP_S_PAYTPROPOSAL-JOBLOG, sy-vline,
WA_FAP_SPP_S_PAYTPROPOSAL-DDINDICATOR, sy-vline.
ENDLOOP. *Add any further fields from structure WA_FAP_SPP_S_PAYTPROPOSAL 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_FAP_SPP_S_PAYTPROPOSAL 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_FAP_SPP_S_PAYTPROPOSAL INTO WA_FAP_SPP_S_PAYTPROPOSAL. *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 AU132, internal->external for field PAYTAMTLC CALL FUNCTION 'CONVERSION_EXIT_AU132_OUTPUT' EXPORTING input = WA_FAP_SPP_S_PAYTPROPOSAL-PAYTAMTLC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FAP_SPP_S_PAYTPROPOSAL-PAYTAMTLC.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field VENDORFROM CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FAP_SPP_S_PAYTPROPOSAL-VENDORFROM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FAP_SPP_S_PAYTPROPOSAL-VENDORFROM.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field VENDORTO CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FAP_SPP_S_PAYTPROPOSAL-VENDORTO IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FAP_SPP_S_PAYTPROPOSAL-VENDORTO.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field CUSTOMERFROM CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FAP_SPP_S_PAYTPROPOSAL-CUSTOMERFROM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FAP_SPP_S_PAYTPROPOSAL-CUSTOMERFROM.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field CUSTOMERTO CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FAP_SPP_S_PAYTPROPOSAL-CUSTOMERTO IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FAP_SPP_S_PAYTPROPOSAL-CUSTOMERTO.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field TRCVENDORFROM CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FAP_SPP_S_PAYTPROPOSAL-TRCVENDORFROM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FAP_SPP_S_PAYTPROPOSAL-TRCVENDORFROM.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field TRCVENDORTO CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FAP_SPP_S_PAYTPROPOSAL-TRCVENDORTO IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FAP_SPP_S_PAYTPROPOSAL-TRCVENDORTO.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field TRCCUSTOMERFROM CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FAP_SPP_S_PAYTPROPOSAL-TRCCUSTOMERFROM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FAP_SPP_S_PAYTPROPOSAL-TRCCUSTOMERFROM.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field TRCCUSTOMERTO CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_FAP_SPP_S_PAYTPROPOSAL-TRCCUSTOMERTO IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_FAP_SPP_S_PAYTPROPOSAL-TRCCUSTOMERTO.
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_FAP_SPP_S_PAYTPROPOSAL_STR,
RUNDATE TYPE STRING,
RUNID TYPE STRING,
STATUS TYPE STRING,
STATUSTEXT TYPE STRING,
PAYTAMTLC TYPE STRING,
LOCALCURRENCY TYPE STRING,
CREATEDBY TYPE STRING,
CREATEDBYNAME TYPE STRING,
LOG TYPE STRING,
JOBLOG TYPE STRING,
DDINDICATOR TYPE STRING,
DDRUNDATE TYPE STRING,
DDRUNID TYPE STRING,
PAYTORDIND TYPE STRING,
POSTINGDATE TYPE STRING,
ENTRYDATEUPTO TYPE STRING,
CUSTITMDUEDTETO TYPE STRING,
EXCHRATETYPE TYPE STRING,
ALLOCATIONKEY TYPE STRING,
BUSINESSPLACE TYPE STRING,
DEBITANNCMNT TYPE STRING,
EXCHRATETYTXT TYPE STRING,
TRCDUEDATECHK TYPE STRING,
TRCPAYTMETHALL TYPE STRING,
TRCPAYTMETHERR TYPE STRING,
TRCPAYTDOCITM TYPE STRING,
CHANGEDON TYPE STRING,
PARMMAINTABLE TYPE STRING,
PRPSDELETABLE TYPE STRING,
PAPRDELETABLE TYPE STRING,
PRPSRUNABLE TYPE STRING,
PAYTRUNABLE TYPE STRING,
VENDMAINTABLE TYPE STRING,
CUSTMAINTABLE TYPE STRING,
IGNOREFLDLIST TYPE STRING,
ISCREATION TYPE STRING,
TARGETRUNDATE TYPE STRING,
OUTPUTDELETABLE TYPE STRING,
COCODELIST TYPE STRING,
PAYTMETHLIST TYPE STRING,
VENDORFROM TYPE STRING,
VENDORTO TYPE STRING,
CUSTOMERFROM TYPE STRING,
CUSTOMERTO TYPE STRING,
NEXTPAYTDATE TYPE STRING,
TRCVENDORFROM TYPE STRING,
TRCVENDORTO TYPE STRING,
TRCCUSTOMERFROM TYPE STRING,
TRCCUSTOMERTO TYPE STRING,
DOCNOLIST TYPE STRING,
COCODETXTLIST TYPE STRING,
PAYTMETHTXTLIST TYPE STRING,
MESSAGETYPE TYPE STRING,
MESSAGETEXT TYPE STRING,
MSGFROMFLDS TYPE STRING,
AUTHUSERLIST TYPE STRING,
DUMMY_PAYTPROPOSAL_INCL TYPE STRING,END OF T_EKKO_STR. DATA: WA_FAP_SPP_S_PAYTPROPOSAL_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_FAP_SPP_S_PAYTPROPOSAL_STR-RUNDATE sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-RUNID sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-STATUS sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-STATUSTEXT sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-PAYTAMTLC sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-LOCALCURRENCY sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-CREATEDBY sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-CREATEDBYNAME sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-LOG sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-JOBLOG sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-DDINDICATOR sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-DDRUNDATE sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-DDRUNID sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-PAYTORDIND sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-POSTINGDATE sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-ENTRYDATEUPTO sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-CUSTITMDUEDTETO sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-EXCHRATETYPE sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-ALLOCATIONKEY sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-BUSINESSPLACE sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-DEBITANNCMNT sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-EXCHRATETYTXT sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-TRCDUEDATECHK sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-TRCPAYTMETHALL sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-TRCPAYTMETHERR sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-TRCPAYTDOCITM sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-CHANGEDON sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-PARMMAINTABLE sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-PRPSDELETABLE sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-PAPRDELETABLE sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-PRPSRUNABLE sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-PAYTRUNABLE sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-VENDMAINTABLE sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-CUSTMAINTABLE sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-IGNOREFLDLIST sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-ISCREATION sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-TARGETRUNDATE sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-OUTPUTDELETABLE sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-COCODELIST sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-PAYTMETHLIST sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-VENDORFROM sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-VENDORTO sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-CUSTOMERFROM sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-CUSTOMERTO sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-NEXTPAYTDATE sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-TRCVENDORFROM sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-TRCVENDORTO sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-TRCCUSTOMERFROM sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-TRCCUSTOMERTO sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-DOCNOLIST sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-COCODETXTLIST sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-PAYTMETHTXTLIST sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-MESSAGETYPE sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-MESSAGETEXT sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-MSGFROMFLDS sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-AUTHUSERLIST sy-vline
WA_FAP_SPP_S_PAYTPROPOSAL_STR-DUMMY_PAYTPROPOSAL_INCL sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.