ABAP Select data from SAP table BAPI1410DATA 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 BAPI1410DATA 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 BAPI1410DATA. 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 BAPI1410DATA 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_BAPI1410DATA TYPE STANDARD TABLE OF BAPI1410DATA,
      WA_BAPI1410DATA TYPE BAPI1410DATA,
      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: <BAPI1410DATA> TYPE BAPI1410DATA.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM BAPI1410DATA
*  INTO TABLE @DATA(IT_BAPI1410DATA2).
*--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_BAPI1410DATA INDEX 1 INTO DATA(WA_BAPI1410DATA2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_BAPI1410DATA ASSIGNING <BAPI1410DATA>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<BAPI1410DATA>-CLIENT = 1.
<BAPI1410DATA>-SERVICE_SEQNO = 1.
<BAPI1410DATA>-BPARTNER = 1.
<BAPI1410DATA>-INSTITUTION = 1.
<BAPI1410DATA>-PATIENTID = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_BAPI1410DATA-CANCEL_ID, sy-vline,
WA_BAPI1410DATA-SERVICE_STATUS, sy-vline,
WA_BAPI1410DATA-REQ_ID, sy-vline,
WA_BAPI1410DATA-SRV_SUBS, sy-vline,
WA_BAPI1410DATA-DESIRED_DATE, sy-vline,
WA_BAPI1410DATA-DESIRED_TIME, sy-vline.
ENDLOOP. *Add any further fields from structure WA_BAPI1410DATA 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_BAPI1410DATA 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_BAPI1410DATA INTO WA_BAPI1410DATA. *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 SERVICE_SEQNO CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_BAPI1410DATA-SERVICE_SEQNO IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BAPI1410DATA-SERVICE_SEQNO.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

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

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

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

*Conversion exit MATN1, internal->external for field MATERIAL_NO CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_BAPI1410DATA-MATERIAL_NO IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BAPI1410DATA-MATERIAL_NO.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit CUNIT, internal->external for field QNT_UNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_BAPI1410DATA-QNT_UNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BAPI1410DATA-QNT_UNIT.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit CUNIT, internal->external for field USERAMNTUNT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_BAPI1410DATA-USERAMNTUNT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BAPI1410DATA-USERAMNTUNT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field USER2 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_BAPI1410DATA-USER2 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BAPI1410DATA-USER2.
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_BAPI1410DATA_STR,
CLIENT TYPE STRING,
SERVICE_SEQNO TYPE STRING,
BPARTNER TYPE STRING,
INSTITUTION TYPE STRING,
PATIENTID TYPE STRING,
CANCEL_ID TYPE STRING,
SERVICE_STATUS TYPE STRING,
REQ_ID TYPE STRING,
SRV_SUBS TYPE STRING,
DESIRED_DATE TYPE STRING,
DESIRED_TIME TYPE STRING,
ADDITIONAL_TEXT TYPE STRING,
ADD_LONGTEXT TYPE STRING,
SRV_TIME_LIMIT TYPE STRING,
UNIT_TIME_LIMIT TYPE STRING,
TIME_LIMIT_END TYPE STRING,
SORT_NUMBER TYPE STRING,
TIME_INTERPRET TYPE STRING,
DURATION TYPE STRING,
ROOM TYPE STRING,
INFECTION TYPE STRING,
ANEST_IND TYPE STRING,
SRV_LOCATION TYPE STRING,
PATIENT_CONSENT TYPE STRING,
SURG_RELEASE TYPE STRING,
PREMED_COMPL TYPE STRING,
PLANNED_TIME TYPE STRING,
SRV_ANCHOR TYPE STRING,
SURG_NUMBER TYPE STRING,
PATCASEID TYPE STRING,
PERFORM_OU TYPE STRING,
SRV_STARTDATE TYPE STRING,
SRV_STARTTIME TYPE STRING,
MEDSRV_IND TYPE STRING,
NURSRV_IND TYPE STRING,
DOC_IND TYPE STRING,
TEAM_IND TYPE STRING,
MATERIAL_IND TYPE STRING,
EMPTY_IND TYPE STRING,
APPT_REL_IND TYPE STRING,
POSITION_ID TYPE STRING,
PREREG_SEQNO TYPE STRING,
APPT_SEQNO TYPE STRING,
APPT_ID TYPE STRING,
SRV_NETWORK TYPE STRING,
SERVICEID TYPE STRING,
MOVEMNT_SEQNO TYPE STRING,
REQ_DEPT_OU TYPE STRING,
ALTBILLCAT TYPE STRING,
MATERIAL_NO TYPE STRING,
STATUS_IND TYPE STRING,
SRV_QUANTITY TYPE STRING,
SRV_PQUANTITY TYPE STRING,
SRV_ENDDATE TYPE STRING,
SRV_ENDTIME TYPE STRING,
SRV_PSTARTDATE TYPE STRING,
SRV_PENDDATE TYPE STRING,
SRV_PSTARTTIME TYPE STRING,
SRV_PENDTIME TYPE STRING,
SRV_SHORTTEXT TYPE STRING,
REQ_NURS_OU TYPE STRING,
SRV_OBJECTTYPE TYPE STRING,
QNT_UNIT TYPE STRING,
QNT_UNIT_ISO TYPE STRING,
CREATION_DATE TYPE STRING,
CREATION_USER TYPE STRING,
UPDATE_DATE TYPE STRING,
UPDATE_USER TYPE STRING,
CANCEL_IND TYPE STRING,
CANCEL_USER TYPE STRING,
USER0 TYPE STRING,
USER1 TYPE STRING,
USERDATE1 TYPE STRING,
USERDATE2 TYPE STRING,
USERTIME1 TYPE STRING,
USERTIME2 TYPE STRING,
USERPRICE TYPE STRING,
USERAMNT TYPE STRING,
USERAMNTUNT TYPE STRING,
USERAMNTUNT_ISO TYPE STRING,
USERSIGN1 TYPE STRING,
USERSIGN2 TYPE STRING,
USER2 TYPE STRING,
USERTEXT1 TYPE STRING,END OF T_EKKO_STR. DATA: WA_BAPI1410DATA_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_BAPI1410DATA_STR-CLIENT sy-vline
WA_BAPI1410DATA_STR-SERVICE_SEQNO sy-vline
WA_BAPI1410DATA_STR-BPARTNER sy-vline
WA_BAPI1410DATA_STR-INSTITUTION sy-vline
WA_BAPI1410DATA_STR-PATIENTID sy-vline
WA_BAPI1410DATA_STR-CANCEL_ID sy-vline
WA_BAPI1410DATA_STR-SERVICE_STATUS sy-vline
WA_BAPI1410DATA_STR-REQ_ID sy-vline
WA_BAPI1410DATA_STR-SRV_SUBS sy-vline
WA_BAPI1410DATA_STR-DESIRED_DATE sy-vline
WA_BAPI1410DATA_STR-DESIRED_TIME sy-vline
WA_BAPI1410DATA_STR-ADDITIONAL_TEXT sy-vline
WA_BAPI1410DATA_STR-ADD_LONGTEXT sy-vline
WA_BAPI1410DATA_STR-SRV_TIME_LIMIT sy-vline
WA_BAPI1410DATA_STR-UNIT_TIME_LIMIT sy-vline
WA_BAPI1410DATA_STR-TIME_LIMIT_END sy-vline
WA_BAPI1410DATA_STR-SORT_NUMBER sy-vline
WA_BAPI1410DATA_STR-TIME_INTERPRET sy-vline
WA_BAPI1410DATA_STR-DURATION sy-vline
WA_BAPI1410DATA_STR-ROOM sy-vline
WA_BAPI1410DATA_STR-INFECTION sy-vline
WA_BAPI1410DATA_STR-ANEST_IND sy-vline
WA_BAPI1410DATA_STR-SRV_LOCATION sy-vline
WA_BAPI1410DATA_STR-PATIENT_CONSENT sy-vline
WA_BAPI1410DATA_STR-SURG_RELEASE sy-vline
WA_BAPI1410DATA_STR-PREMED_COMPL sy-vline
WA_BAPI1410DATA_STR-PLANNED_TIME sy-vline
WA_BAPI1410DATA_STR-SRV_ANCHOR sy-vline
WA_BAPI1410DATA_STR-SURG_NUMBER sy-vline
WA_BAPI1410DATA_STR-PATCASEID sy-vline
WA_BAPI1410DATA_STR-PERFORM_OU sy-vline
WA_BAPI1410DATA_STR-SRV_STARTDATE sy-vline
WA_BAPI1410DATA_STR-SRV_STARTTIME sy-vline
WA_BAPI1410DATA_STR-MEDSRV_IND sy-vline
WA_BAPI1410DATA_STR-NURSRV_IND sy-vline
WA_BAPI1410DATA_STR-DOC_IND sy-vline
WA_BAPI1410DATA_STR-TEAM_IND sy-vline
WA_BAPI1410DATA_STR-MATERIAL_IND sy-vline
WA_BAPI1410DATA_STR-EMPTY_IND sy-vline
WA_BAPI1410DATA_STR-APPT_REL_IND sy-vline
WA_BAPI1410DATA_STR-POSITION_ID sy-vline
WA_BAPI1410DATA_STR-PREREG_SEQNO sy-vline
WA_BAPI1410DATA_STR-APPT_SEQNO sy-vline
WA_BAPI1410DATA_STR-APPT_ID sy-vline
WA_BAPI1410DATA_STR-SRV_NETWORK sy-vline
WA_BAPI1410DATA_STR-SERVICEID sy-vline
WA_BAPI1410DATA_STR-MOVEMNT_SEQNO sy-vline
WA_BAPI1410DATA_STR-REQ_DEPT_OU sy-vline
WA_BAPI1410DATA_STR-ALTBILLCAT sy-vline
WA_BAPI1410DATA_STR-MATERIAL_NO sy-vline
WA_BAPI1410DATA_STR-STATUS_IND sy-vline
WA_BAPI1410DATA_STR-SRV_QUANTITY sy-vline
WA_BAPI1410DATA_STR-SRV_PQUANTITY sy-vline
WA_BAPI1410DATA_STR-SRV_ENDDATE sy-vline
WA_BAPI1410DATA_STR-SRV_ENDTIME sy-vline
WA_BAPI1410DATA_STR-SRV_PSTARTDATE sy-vline
WA_BAPI1410DATA_STR-SRV_PENDDATE sy-vline
WA_BAPI1410DATA_STR-SRV_PSTARTTIME sy-vline
WA_BAPI1410DATA_STR-SRV_PENDTIME sy-vline
WA_BAPI1410DATA_STR-SRV_SHORTTEXT sy-vline
WA_BAPI1410DATA_STR-REQ_NURS_OU sy-vline
WA_BAPI1410DATA_STR-SRV_OBJECTTYPE sy-vline
WA_BAPI1410DATA_STR-QNT_UNIT sy-vline
WA_BAPI1410DATA_STR-QNT_UNIT_ISO sy-vline
WA_BAPI1410DATA_STR-CREATION_DATE sy-vline
WA_BAPI1410DATA_STR-CREATION_USER sy-vline
WA_BAPI1410DATA_STR-UPDATE_DATE sy-vline
WA_BAPI1410DATA_STR-UPDATE_USER sy-vline
WA_BAPI1410DATA_STR-CANCEL_IND sy-vline
WA_BAPI1410DATA_STR-CANCEL_USER sy-vline
WA_BAPI1410DATA_STR-USER0 sy-vline
WA_BAPI1410DATA_STR-USER1 sy-vline
WA_BAPI1410DATA_STR-USERDATE1 sy-vline
WA_BAPI1410DATA_STR-USERDATE2 sy-vline
WA_BAPI1410DATA_STR-USERTIME1 sy-vline
WA_BAPI1410DATA_STR-USERTIME2 sy-vline
WA_BAPI1410DATA_STR-USERPRICE sy-vline
WA_BAPI1410DATA_STR-USERAMNT sy-vline
WA_BAPI1410DATA_STR-USERAMNTUNT sy-vline
WA_BAPI1410DATA_STR-USERAMNTUNT_ISO sy-vline
WA_BAPI1410DATA_STR-USERSIGN1 sy-vline
WA_BAPI1410DATA_STR-USERSIGN2 sy-vline
WA_BAPI1410DATA_STR-USER2 sy-vline
WA_BAPI1410DATA_STR-USERTEXT1 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.