ABAP Select data from SAP table UCS_S_TASK_LP 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 UCS_S_TASK_LP 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 UCS_S_TASK_LP. 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 UCS_S_TASK_LP 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_UCS_S_TASK_LP TYPE STANDARD TABLE OF UCS_S_TASK_LP,
      WA_UCS_S_TASK_LP TYPE UCS_S_TASK_LP,
      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: <UCS_S_TASK_LP> TYPE UCS_S_TASK_LP.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM UCS_S_TASK_LP
*  INTO TABLE @DATA(IT_UCS_S_TASK_LP2).
*--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_UCS_S_TASK_LP INDEX 1 INTO DATA(WA_UCS_S_TASK_LP2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_UCS_S_TASK_LP ASSIGNING <UCS_S_TASK_LP>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<UCS_S_TASK_LP>-SUMIND = 1.
<UCS_S_TASK_LP>-SUBLIST1 = 1.
<UCS_S_TASK_LP>-SUBLIST2 = 1.
<UCS_S_TASK_LP>-SUBLIST3 = 1.
<UCS_S_TASK_LP>-SUBLIST4 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_UCS_S_TASK_LP-SEQNR, sy-vline,
WA_UCS_S_TASK_LP-AREA, sy-vline,
WA_UCS_S_TASK_LP-TASK, sy-vline,
WA_UCS_S_TASK_LP-TXTSH, sy-vline,
WA_UCS_S_TASK_LP-TXTMI, sy-vline,
WA_UCS_S_TASK_LP-TASKTYPE, sy-vline.
ENDLOOP. *Add any further fields from structure WA_UCS_S_TASK_LP 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_UCS_S_TASK_LP 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_UCS_S_TASK_LP INTO WA_UCS_S_TASK_LP. *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_UCS_S_TASK_LP_STR,
SUMIND TYPE STRING,
SUBLIST1 TYPE STRING,
SUBLIST2 TYPE STRING,
SUBLIST3 TYPE STRING,
SUBLIST4 TYPE STRING,
SEQNR TYPE STRING,
AREA TYPE STRING,
TASK TYPE STRING,
TXTSH TYPE STRING,
TXTMI TYPE STRING,
TASKTYPE TYPE STRING,
TASKTYPE_TXT TYPE STRING,
FSFREQUENCY TYPE STRING,
FSFREQUENCY_TXT TYPE STRING,
TASKPROC TYPE STRING,
INTERACTIVE TYPE STRING,
PLEVEL_BCF TYPE STRING,
DTX_DATASTREAMTYPE TYPE STRING,
SRC_TASK_SOURCE TYPE STRING,
SRC_TASK_TXT TYPE STRING,
DOC_DOCTYPE TYPE STRING,
DOC_TXT TYPE STRING,
DOC_ENT_ASS TYPE STRING,
DOC_ENT_DOCTYPE TYPE STRING,
DOC_ENT_TXT TYPE STRING,
DOC_OUT_ASS TYPE STRING,
DOC_OUT_DOCTYPE TYPE STRING,
DOC_OUT_TXT TYPE STRING,
DOC_CHG_ASS TYPE STRING,
DOC_CHG_DOCTYPE TYPE STRING,
DOC_CHG_TXT TYPE STRING,
DOC_MLC_ASS TYPE STRING,
DOC_MLC_DOCTYPE TYPE STRING,
DOC_MLC_TXT TYPE STRING,
MTH_PERTYPE TYPE STRING,
MTH_PERTYPE_TXT TYPE STRING,
MTH_CONSUNIT TYPE STRING,
MTH_CONSUNIT2 TYPE STRING,
MTH_METHOD TYPE STRING,
MTH_METHOD_TXT TYPE STRING,
MTH_DEFAULT TYPE STRING,
MTH_R_METHOD TYPE STRING,
MTH_R_METHOD_TXT TYPE STRING,
MTH_TASK_RELEVANT TYPE STRING,
VAL_LEVEL TYPE STRING,
VAL_LEVEL_TXT TYPE STRING,
VAL_CURR TYPE STRING,
VAL_CURR_TXT TYPE STRING,
VAL_MERGER TYPE STRING,
VAL_MERGER_TXT TYPE STRING,
VAL_HFS TYPE STRING,
VAL_HFS_TXT TYPE STRING,
AFD_CHECKED TYPE STRING,
AFD_DATASTREAM TYPE STRING,
AFD_MSGTYPE TYPE STRING,
AFD_MSGTYPE_TXT TYPE STRING,
GLS_INVAL TYPE STRING,
GLS_INVAL_TXT TYPE STRING,
GLS_XRIND1 TYPE STRING,
GLS_XRIND1_TXT TYPE STRING,
GLS_XRIND2 TYPE STRING,
GLS_XRIND2_TXT TYPE STRING,
GLS_VALAL TYPE STRING,
GLS_POIND TYPE STRING,
GLS_SEIND TYPE STRING,
GLS_BEIND TYPE STRING,
GLS_NPIND TYPE STRING,
GLS_IPIYR TYPE STRING,
GLS_IPIPE TYPE STRING,
PRO_FUNCTION TYPE STRING,
PRO_USED TYPE STRING,
PERTYPE_LOG TYPE STRING,
SBG_CONSUNIT TYPE STRING,
SBG_CONSUNIT_TXT TYPE STRING,
SBG_STAT_BEAR TYPE STRING,
APL_PLEVEL_INIT_PER TYPE STRING,
CUS_TASKPROC TYPE STRING,
PROTOCOL_NR TYPE STRING,
PROTOCOL_NAME TYPE STRING,
SL_NAME TYPE STRING,
BREAKDOWN TYPE STRING,
SHOW_FIELD TYPE STRING,
SHOW_TEXT TYPE STRING,
FIELDNAME TYPE STRING,
TYP_ICON TYPE STRING,
CATALOGNR TYPE STRING,
GLS_DUMMY TYPE STRING,
GLS_POACQ TYPE STRING,
GLS_DEPA_RET TYPE STRING,
GLS_NBVAL TYPE STRING,
GLS_DTAX_HIST TYPE STRING,
GLS_EQIMODE TYPE STRING,
GLS_LCADJUST TYPE STRING,
WFVARIANT_BLOCK TYPE STRING,
WFVARIANT_BLOCK_TXT TYPE STRING,
WFVARIANT_UREQ TYPE STRING,
WFVARIANT_UREQ_TXT TYPE STRING,
WFVARIANT_UNBL TYPE STRING,
WFVARIANT_UNBL_TXT TYPE STRING,
WFVARIANT_RESET TYPE STRING,
WFVARIANT_RESET_TXT TYPE STRING,
WFVARIANT_SOFF TYPE STRING,
WFVARIANT_SOFF_TXT TYPE STRING,
INFOPROV TYPE STRING,
QUERY TYPE STRING,
QUERY_TXT TYPE STRING,
GLS_RECON_CG_INTPR TYPE STRING,
GLS_RECON_TI_INTPR TYPE STRING,
RECON_FUNCTION TYPE STRING,
RECON_USED TYPE STRING,
GLS_RECL_AST_HFS TYPE STRING,
GLS_RECL_CVA_DEPR TYPE STRING,
GLS_RECL_AGGR_DOC TYPE STRING,
RCL_FUNCTION TYPE STRING,
RCL_USED TYPE STRING,
GLS_PCC_PERIOD_RVS TYPE STRING,
PCC_FUNCTION TYPE STRING,
PCC_USED TYPE STRING,
GLS_CU_FIELDNAME TYPE STRING,
SOFF_FUNCTION TYPE STRING,
SOFF_USED TYPE STRING,
SEL_FIELDNAME TYPE STRING,
SEL_FIELD_TXT TYPE STRING,
SEL_LOW TYPE STRING,
SEL_LOW_TXT TYPE STRING,
SEL_HIGH TYPE STRING,
SEL_HIGH_TXT TYPE STRING,
SEL_AREA TYPE STRING,
SEL_SISEL TYPE STRING,
SEL_SET_TXT TYPE STRING,
SEL_SETLINE_TXT TYPE STRING,
SEL_ICON TYPE STRING,
SEL_ATTR TYPE STRING,
SEL_ATTR_TXT TYPE STRING,
SEL_NODE TYPE STRING,
SEL_NODE_TXT TYPE STRING,
SEL_SEQNR TYPE STRING,
SEL_SISEL_SEQNR TYPE STRING,
SEL_CROSS_FLG TYPE STRING,
SEL_SELID TYPE STRING,
RECON_LEVEL TYPE STRING,END OF T_EKKO_STR. DATA: WA_UCS_S_TASK_LP_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_UCS_S_TASK_LP_STR-SUMIND sy-vline
WA_UCS_S_TASK_LP_STR-SUBLIST1 sy-vline
WA_UCS_S_TASK_LP_STR-SUBLIST2 sy-vline
WA_UCS_S_TASK_LP_STR-SUBLIST3 sy-vline
WA_UCS_S_TASK_LP_STR-SUBLIST4 sy-vline
WA_UCS_S_TASK_LP_STR-SEQNR sy-vline
WA_UCS_S_TASK_LP_STR-AREA sy-vline
WA_UCS_S_TASK_LP_STR-TASK sy-vline
WA_UCS_S_TASK_LP_STR-TXTSH sy-vline
WA_UCS_S_TASK_LP_STR-TXTMI sy-vline
WA_UCS_S_TASK_LP_STR-TASKTYPE sy-vline
WA_UCS_S_TASK_LP_STR-TASKTYPE_TXT sy-vline
WA_UCS_S_TASK_LP_STR-FSFREQUENCY sy-vline
WA_UCS_S_TASK_LP_STR-FSFREQUENCY_TXT sy-vline
WA_UCS_S_TASK_LP_STR-TASKPROC sy-vline
WA_UCS_S_TASK_LP_STR-INTERACTIVE sy-vline
WA_UCS_S_TASK_LP_STR-PLEVEL_BCF sy-vline
WA_UCS_S_TASK_LP_STR-DTX_DATASTREAMTYPE sy-vline
WA_UCS_S_TASK_LP_STR-SRC_TASK_SOURCE sy-vline
WA_UCS_S_TASK_LP_STR-SRC_TASK_TXT sy-vline
WA_UCS_S_TASK_LP_STR-DOC_DOCTYPE sy-vline
WA_UCS_S_TASK_LP_STR-DOC_TXT sy-vline
WA_UCS_S_TASK_LP_STR-DOC_ENT_ASS sy-vline
WA_UCS_S_TASK_LP_STR-DOC_ENT_DOCTYPE sy-vline
WA_UCS_S_TASK_LP_STR-DOC_ENT_TXT sy-vline
WA_UCS_S_TASK_LP_STR-DOC_OUT_ASS sy-vline
WA_UCS_S_TASK_LP_STR-DOC_OUT_DOCTYPE sy-vline
WA_UCS_S_TASK_LP_STR-DOC_OUT_TXT sy-vline
WA_UCS_S_TASK_LP_STR-DOC_CHG_ASS sy-vline
WA_UCS_S_TASK_LP_STR-DOC_CHG_DOCTYPE sy-vline
WA_UCS_S_TASK_LP_STR-DOC_CHG_TXT sy-vline
WA_UCS_S_TASK_LP_STR-DOC_MLC_ASS sy-vline
WA_UCS_S_TASK_LP_STR-DOC_MLC_DOCTYPE sy-vline
WA_UCS_S_TASK_LP_STR-DOC_MLC_TXT sy-vline
WA_UCS_S_TASK_LP_STR-MTH_PERTYPE sy-vline
WA_UCS_S_TASK_LP_STR-MTH_PERTYPE_TXT sy-vline
WA_UCS_S_TASK_LP_STR-MTH_CONSUNIT sy-vline
WA_UCS_S_TASK_LP_STR-MTH_CONSUNIT2 sy-vline
WA_UCS_S_TASK_LP_STR-MTH_METHOD sy-vline
WA_UCS_S_TASK_LP_STR-MTH_METHOD_TXT sy-vline
WA_UCS_S_TASK_LP_STR-MTH_DEFAULT sy-vline
WA_UCS_S_TASK_LP_STR-MTH_R_METHOD sy-vline
WA_UCS_S_TASK_LP_STR-MTH_R_METHOD_TXT sy-vline
WA_UCS_S_TASK_LP_STR-MTH_TASK_RELEVANT sy-vline
WA_UCS_S_TASK_LP_STR-VAL_LEVEL sy-vline
WA_UCS_S_TASK_LP_STR-VAL_LEVEL_TXT sy-vline
WA_UCS_S_TASK_LP_STR-VAL_CURR sy-vline
WA_UCS_S_TASK_LP_STR-VAL_CURR_TXT sy-vline
WA_UCS_S_TASK_LP_STR-VAL_MERGER sy-vline
WA_UCS_S_TASK_LP_STR-VAL_MERGER_TXT sy-vline
WA_UCS_S_TASK_LP_STR-VAL_HFS sy-vline
WA_UCS_S_TASK_LP_STR-VAL_HFS_TXT sy-vline
WA_UCS_S_TASK_LP_STR-AFD_CHECKED sy-vline
WA_UCS_S_TASK_LP_STR-AFD_DATASTREAM sy-vline
WA_UCS_S_TASK_LP_STR-AFD_MSGTYPE sy-vline
WA_UCS_S_TASK_LP_STR-AFD_MSGTYPE_TXT sy-vline
WA_UCS_S_TASK_LP_STR-GLS_INVAL sy-vline
WA_UCS_S_TASK_LP_STR-GLS_INVAL_TXT sy-vline
WA_UCS_S_TASK_LP_STR-GLS_XRIND1 sy-vline
WA_UCS_S_TASK_LP_STR-GLS_XRIND1_TXT sy-vline
WA_UCS_S_TASK_LP_STR-GLS_XRIND2 sy-vline
WA_UCS_S_TASK_LP_STR-GLS_XRIND2_TXT sy-vline
WA_UCS_S_TASK_LP_STR-GLS_VALAL sy-vline
WA_UCS_S_TASK_LP_STR-GLS_POIND sy-vline
WA_UCS_S_TASK_LP_STR-GLS_SEIND sy-vline
WA_UCS_S_TASK_LP_STR-GLS_BEIND sy-vline
WA_UCS_S_TASK_LP_STR-GLS_NPIND sy-vline
WA_UCS_S_TASK_LP_STR-GLS_IPIYR sy-vline
WA_UCS_S_TASK_LP_STR-GLS_IPIPE sy-vline
WA_UCS_S_TASK_LP_STR-PRO_FUNCTION sy-vline
WA_UCS_S_TASK_LP_STR-PRO_USED sy-vline
WA_UCS_S_TASK_LP_STR-PERTYPE_LOG sy-vline
WA_UCS_S_TASK_LP_STR-SBG_CONSUNIT sy-vline
WA_UCS_S_TASK_LP_STR-SBG_CONSUNIT_TXT sy-vline
WA_UCS_S_TASK_LP_STR-SBG_STAT_BEAR sy-vline
WA_UCS_S_TASK_LP_STR-APL_PLEVEL_INIT_PER sy-vline
WA_UCS_S_TASK_LP_STR-CUS_TASKPROC sy-vline
WA_UCS_S_TASK_LP_STR-PROTOCOL_NR sy-vline
WA_UCS_S_TASK_LP_STR-PROTOCOL_NAME sy-vline
WA_UCS_S_TASK_LP_STR-SL_NAME sy-vline
WA_UCS_S_TASK_LP_STR-BREAKDOWN sy-vline
WA_UCS_S_TASK_LP_STR-SHOW_FIELD sy-vline
WA_UCS_S_TASK_LP_STR-SHOW_TEXT sy-vline
WA_UCS_S_TASK_LP_STR-FIELDNAME sy-vline
WA_UCS_S_TASK_LP_STR-TYP_ICON sy-vline
WA_UCS_S_TASK_LP_STR-CATALOGNR sy-vline
WA_UCS_S_TASK_LP_STR-GLS_DUMMY sy-vline
WA_UCS_S_TASK_LP_STR-GLS_POACQ sy-vline
WA_UCS_S_TASK_LP_STR-GLS_DEPA_RET sy-vline
WA_UCS_S_TASK_LP_STR-GLS_NBVAL sy-vline
WA_UCS_S_TASK_LP_STR-GLS_DTAX_HIST sy-vline
WA_UCS_S_TASK_LP_STR-GLS_EQIMODE sy-vline
WA_UCS_S_TASK_LP_STR-GLS_LCADJUST sy-vline
WA_UCS_S_TASK_LP_STR-WFVARIANT_BLOCK sy-vline
WA_UCS_S_TASK_LP_STR-WFVARIANT_BLOCK_TXT sy-vline
WA_UCS_S_TASK_LP_STR-WFVARIANT_UREQ sy-vline
WA_UCS_S_TASK_LP_STR-WFVARIANT_UREQ_TXT sy-vline
WA_UCS_S_TASK_LP_STR-WFVARIANT_UNBL sy-vline
WA_UCS_S_TASK_LP_STR-WFVARIANT_UNBL_TXT sy-vline
WA_UCS_S_TASK_LP_STR-WFVARIANT_RESET sy-vline
WA_UCS_S_TASK_LP_STR-WFVARIANT_RESET_TXT sy-vline
WA_UCS_S_TASK_LP_STR-WFVARIANT_SOFF sy-vline
WA_UCS_S_TASK_LP_STR-WFVARIANT_SOFF_TXT sy-vline
WA_UCS_S_TASK_LP_STR-INFOPROV sy-vline
WA_UCS_S_TASK_LP_STR-QUERY sy-vline
WA_UCS_S_TASK_LP_STR-QUERY_TXT sy-vline
WA_UCS_S_TASK_LP_STR-GLS_RECON_CG_INTPR sy-vline
WA_UCS_S_TASK_LP_STR-GLS_RECON_TI_INTPR sy-vline
WA_UCS_S_TASK_LP_STR-RECON_FUNCTION sy-vline
WA_UCS_S_TASK_LP_STR-RECON_USED sy-vline
WA_UCS_S_TASK_LP_STR-GLS_RECL_AST_HFS sy-vline
WA_UCS_S_TASK_LP_STR-GLS_RECL_CVA_DEPR sy-vline
WA_UCS_S_TASK_LP_STR-GLS_RECL_AGGR_DOC sy-vline
WA_UCS_S_TASK_LP_STR-RCL_FUNCTION sy-vline
WA_UCS_S_TASK_LP_STR-RCL_USED sy-vline
WA_UCS_S_TASK_LP_STR-GLS_PCC_PERIOD_RVS sy-vline
WA_UCS_S_TASK_LP_STR-PCC_FUNCTION sy-vline
WA_UCS_S_TASK_LP_STR-PCC_USED sy-vline
WA_UCS_S_TASK_LP_STR-GLS_CU_FIELDNAME sy-vline
WA_UCS_S_TASK_LP_STR-SOFF_FUNCTION sy-vline
WA_UCS_S_TASK_LP_STR-SOFF_USED sy-vline
WA_UCS_S_TASK_LP_STR-SEL_FIELDNAME sy-vline
WA_UCS_S_TASK_LP_STR-SEL_FIELD_TXT sy-vline
WA_UCS_S_TASK_LP_STR-SEL_LOW sy-vline
WA_UCS_S_TASK_LP_STR-SEL_LOW_TXT sy-vline
WA_UCS_S_TASK_LP_STR-SEL_HIGH sy-vline
WA_UCS_S_TASK_LP_STR-SEL_HIGH_TXT sy-vline
WA_UCS_S_TASK_LP_STR-SEL_AREA sy-vline
WA_UCS_S_TASK_LP_STR-SEL_SISEL sy-vline
WA_UCS_S_TASK_LP_STR-SEL_SET_TXT sy-vline
WA_UCS_S_TASK_LP_STR-SEL_SETLINE_TXT sy-vline
WA_UCS_S_TASK_LP_STR-SEL_ICON sy-vline
WA_UCS_S_TASK_LP_STR-SEL_ATTR sy-vline
WA_UCS_S_TASK_LP_STR-SEL_ATTR_TXT sy-vline
WA_UCS_S_TASK_LP_STR-SEL_NODE sy-vline
WA_UCS_S_TASK_LP_STR-SEL_NODE_TXT sy-vline
WA_UCS_S_TASK_LP_STR-SEL_SEQNR sy-vline
WA_UCS_S_TASK_LP_STR-SEL_SISEL_SEQNR sy-vline
WA_UCS_S_TASK_LP_STR-SEL_CROSS_FLG sy-vline
WA_UCS_S_TASK_LP_STR-SEL_SELID sy-vline
WA_UCS_S_TASK_LP_STR-RECON_LEVEL sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.