ABAP Select data from SAP table USMD_S_0G_PDF_ACCCCDET_APPEND 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 USMD_S_0G_PDF_ACCCCDET_APPEND 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 USMD_S_0G_PDF_ACCCCDET_APPEND. 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 USMD_S_0G_PDF_ACCCCDET_APPEND 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_USMD_S_0G_PDF_ACCCCDET_APPEND TYPE STANDARD TABLE OF USMD_S_0G_PDF_ACCCCDET_APPEND, WA_USMD_S_0G_PDF_ACCCCDET_APPEND TYPE USMD_S_0G_PDF_ACCCCDET_APPEND, 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: <USMD_S_0G_PDF_ACCCCDET_APPEND> TYPE USMD_S_0G_PDF_ACCCCDET_APPEND. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_USMD_S_0G_PDF_ACCCCDET_APPEND. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM USMD_S_0G_PDF_ACCCCDET_APPEND INTO TABLE IT_USMD_S_0G_PDF_ACCCCDET_APPEND. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM USMD_S_0G_PDF_ACCCCDET_APPEND * INTO TABLE @DATA(IT_USMD_S_0G_PDF_ACCCCDET_APPEND2). *--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_USMD_S_0G_PDF_ACCCCDET_APPEND INDEX 1 INTO DATA(WA_USMD_S_0G_PDF_ACCCCDET_APPEND2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_USMD_S_0G_PDF_ACCCCDET_APPEND ASSIGNING <USMD_S_0G_PDF_ACCCCDET_APPEND>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<USMD_S_0G_PDF_ACCCCDET_APPEND>-KEY_DESCRIPTION = 1.
<USMD_S_0G_PDF_ACCCCDET_APPEND>-ACCOUNT_DATA = 1.
<USMD_S_0G_PDF_ACCCCDET_APPEND>-USMD_EDITION = 1.
<USMD_S_0G_PDF_ACCCCDET_APPEND>-USMD_VDATE_FROM = 1.
<USMD_S_0G_PDF_ACCCCDET_APPEND>-USMD_VDATE_TO = 1.
ENDLOOP. LOOP AT IT_USMD_S_0G_PDF_ACCCCDET_APPEND INTO WA_USMD_S_0G_PDF_ACCCCDET_APPEND. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_USMD_S_0G_PDF_ACCCCDET_APPEND-USMD_VPER_FROM, sy-vline,
WA_USMD_S_0G_PDF_ACCCCDET_APPEND-USMD_VPER_TO, sy-vline,
WA_USMD_S_0G_PDF_ACCCCDET_APPEND-USMD_EDITION_TO, sy-vline,
WA_USMD_S_0G_PDF_ACCCCDET_APPEND-COA, sy-vline,
WA_USMD_S_0G_PDF_ACCCCDET_APPEND-ACCOUNT, sy-vline,
WA_USMD_S_0G_PDF_ACCCCDET_APPEND-ACCBLCREA, sy-vline.
ENDLOOP. *Add any further fields from structure WA_USMD_S_0G_PDF_ACCCCDET_APPEND 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_USMD_S_0G_PDF_ACCCCDET_APPEND 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_USMD_S_0G_PDF_ACCCCDET_APPEND INTO WA_USMD_S_0G_PDF_ACCCCDET_APPEND. *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 ALPHA, internal->external for field USMD_EDITION CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_USMD_S_0G_PDF_ACCCCDET_APPEND-USMD_EDITION IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_USMD_S_0G_PDF_ACCCCDET_APPEND-USMD_EDITION.
WRITE:/ 'New Value:', ld_input.
*Conversion exit PERI7, internal->external for field USMD_VPER_FROM CALL FUNCTION 'CONVERSION_EXIT_PERI7_OUTPUT' EXPORTING input = WA_USMD_S_0G_PDF_ACCCCDET_APPEND-USMD_VPER_FROM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_USMD_S_0G_PDF_ACCCCDET_APPEND-USMD_VPER_FROM.
WRITE:/ 'New Value:', ld_input.
*Conversion exit PERI7, internal->external for field USMD_VPER_TO CALL FUNCTION 'CONVERSION_EXIT_PERI7_OUTPUT' EXPORTING input = WA_USMD_S_0G_PDF_ACCCCDET_APPEND-USMD_VPER_TO IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_USMD_S_0G_PDF_ACCCCDET_APPEND-USMD_VPER_TO.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field USMD_EDITION_TO CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_USMD_S_0G_PDF_ACCCCDET_APPEND-USMD_EDITION_TO IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_USMD_S_0G_PDF_ACCCCDET_APPEND-USMD_EDITION_TO.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field ACCOUNT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_USMD_S_0G_PDF_ACCCCDET_APPEND-ACCOUNT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_USMD_S_0G_PDF_ACCCCDET_APPEND-ACCOUNT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field ACCMAINAC CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_USMD_S_0G_PDF_ACCCCDET_APPEND-ACCMAINAC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_USMD_S_0G_PDF_ACCCCDET_APPEND-ACCMAINAC.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field ACCNEWACC CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_USMD_S_0G_PDF_ACCCCDET_APPEND-ACCNEWACC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_USMD_S_0G_PDF_ACCCCDET_APPEND-ACCNEWACC.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field COMPACC CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_USMD_S_0G_PDF_ACCCCDET_APPEND-COMPACC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_USMD_S_0G_PDF_ACCCCDET_APPEND-COMPACC.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field FSIACC CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_USMD_S_0G_PDF_ACCCCDET_APPEND-FSIACC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_USMD_S_0G_PDF_ACCCCDET_APPEND-FSIACC.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field FSIACCSTA CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_USMD_S_0G_PDF_ACCCCDET_APPEND-FSIACCSTA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_USMD_S_0G_PDF_ACCCCDET_APPEND-FSIACCSTA.
WRITE:/ 'New Value:', ld_input.
*Conversion exit TSTPS, internal->external for field USMD_ENT_CHNG_AT CALL FUNCTION 'CONVERSION_EXIT_TSTPS_OUTPUT' EXPORTING input = WA_USMD_S_0G_PDF_ACCCCDET_APPEND-USMD_ENT_CHNG_AT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_USMD_S_0G_PDF_ACCCCDET_APPEND-USMD_ENT_CHNG_AT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit TSTPS, internal->external for field USMD_ENT_CRTD_AT CALL FUNCTION 'CONVERSION_EXIT_TSTPS_OUTPUT' EXPORTING input = WA_USMD_S_0G_PDF_ACCCCDET_APPEND-USMD_ENT_CRTD_AT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_USMD_S_0G_PDF_ACCCCDET_APPEND-USMD_ENT_CRTD_AT.
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_USMD_S_0G_PDF_ACCCCDET_APPEND_STR,
KEY_DESCRIPTION TYPE STRING,
ACCOUNT_DATA TYPE STRING,
USMD_EDITION TYPE STRING,
USMD_VDATE_FROM TYPE STRING,
USMD_VDATE_TO TYPE STRING,
USMD_VPER_FROM TYPE STRING,
USMD_VPER_TO TYPE STRING,
USMD_EDITION_TO TYPE STRING,
COA TYPE STRING,
ACCOUNT TYPE STRING,
ACCBLCREA TYPE STRING,
ACCBLPLAN TYPE STRING,
ACCBLPOST TYPE STRING,
ACCDEL TYPE STRING,
ACCGRPACC TYPE STRING,
ACCMAINAC TYPE STRING,
ACCNEWACC TYPE STRING,
ACCPLTYP TYPE STRING,
ACCRESPP TYPE STRING,
ACCRESPU TYPE STRING,
ACCTYP TYPE STRING,
COMPACC TYPE STRING,
FSIACC TYPE STRING,
FSIACCSTA TYPE STRING,
FUNCACC TYPE STRING,
S4ACCTYP TYPE STRING,
S4ACSUBTY TYPE STRING,
TXTLG TYPE STRING,
TXTSH TYPE STRING,
USMD_ENT_CHNG_AT TYPE STRING,
USMD_ENT_CHNG_BY TYPE STRING,
USMD_ENT_CRTD_AT TYPE STRING,
USMD_ENT_CRTD_BY TYPE STRING,
USMD_DESCRIPTION TYPE STRING,
USMD_EDITION TYPE STRING,
COA TYPE STRING,
ACCOUNT TYPE STRING,
ACCBLCREA TYPE STRING,
ACCBLPLAN TYPE STRING,
ACCBLPOST TYPE STRING,
ACCDEL TYPE STRING,
ACCGRPACC TYPE STRING,
ACCMAINAC TYPE STRING,
ACCNEWACC TYPE STRING,
ACCPLTYP TYPE STRING,
ACCRESPU TYPE STRING,
ACCTYP TYPE STRING,
COMPACC TYPE STRING,
FSIACC TYPE STRING,
FSIACCSTA TYPE STRING,
FUNCACC TYPE STRING,
S4ACCTYP TYPE STRING,
S4ACSUBTY TYPE STRING,
USMD_ENT_CHNG_BY TYPE STRING,
USMD_ENT_CRTD_BY TYPE STRING,
USMD_EDITION_TO TYPE STRING,END OF T_EKKO_STR. DATA: WA_USMD_S_0G_PDF_ACCCCDET_APPEND_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_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-KEY_DESCRIPTION sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCOUNT_DATA sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-USMD_EDITION sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-USMD_VDATE_FROM sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-USMD_VDATE_TO sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-USMD_VPER_FROM sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-USMD_VPER_TO sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-USMD_EDITION_TO sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-COA sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCOUNT sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCBLCREA sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCBLPLAN sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCBLPOST sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCDEL sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCGRPACC sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCMAINAC sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCNEWACC sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCPLTYP sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCRESPP sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCRESPU sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCTYP sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-COMPACC sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-FSIACC sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-FSIACCSTA sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-FUNCACC sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-S4ACCTYP sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-S4ACSUBTY sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-TXTLG sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-TXTSH sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-USMD_ENT_CHNG_AT sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-USMD_ENT_CHNG_BY sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-USMD_ENT_CRTD_AT sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-USMD_ENT_CRTD_BY sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-USMD_DESCRIPTION sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-USMD_EDITION sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-COA sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCOUNT sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCBLCREA sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCBLPLAN sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCBLPOST sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCDEL sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCGRPACC sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCMAINAC sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCNEWACC sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCPLTYP sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCRESPU sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-ACCTYP sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-COMPACC sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-FSIACC sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-FSIACCSTA sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-FUNCACC sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-S4ACCTYP sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-S4ACSUBTY sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-USMD_ENT_CHNG_BY sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-USMD_ENT_CRTD_BY sy-vline
WA_USMD_S_0G_PDF_ACCCCDET_APPEND_STR-USMD_EDITION_TO sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.