ABAP Select data from SAP table QINSP_LOT_CB 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 QINSP_LOT_CB 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 QINSP_LOT_CB. 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 QINSP_LOT_CB 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_QINSP_LOT_CB TYPE STANDARD TABLE OF QINSP_LOT_CB, WA_QINSP_LOT_CB TYPE QINSP_LOT_CB, 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: <QINSP_LOT_CB> TYPE QINSP_LOT_CB. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_QINSP_LOT_CB. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM QINSP_LOT_CB INTO TABLE IT_QINSP_LOT_CB. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM QINSP_LOT_CB * INTO TABLE @DATA(IT_QINSP_LOT_CB2). *--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_QINSP_LOT_CB INDEX 1 INTO DATA(WA_QINSP_LOT_CB2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_QINSP_LOT_CB ASSIGNING <QINSP_LOT_CB>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<QINSP_LOT_CB>-PLANT = 1.
<QINSP_LOT_CB>-INSPECTIONLOTTYPE = 1.
<QINSP_LOT_CB>-INSPECTIONLOTORIGIN = 1.
<QINSP_LOT_CB>-MATLQUALITYAUTHORIZATIONGROUP = 1.
<QINSP_LOT_CB>-INSPECTIONLOTHASQUANTITY = 1.
ENDLOOP. LOOP AT IT_QINSP_LOT_CB INTO WA_QINSP_LOT_CB. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_QINSP_LOT_CB-INSPLOTISCREATEDAUTOMATICALLY, sy-vline,
WA_QINSP_LOT_CB-QLTYINPROCMTSTATUSPROFILE, sy-vline,
WA_QINSP_LOT_CB-BILLOFOPERATIONSTYPE, sy-vline,
WA_QINSP_LOT_CB-BILLOFOPERATIONSGROUP, sy-vline,
WA_QINSP_LOT_CB-BILLOFOPERATIONSUSAGE, sy-vline,
WA_QINSP_LOT_CB-BILLOFOPERATIONSVARIANT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_QINSP_LOT_CB 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_QINSP_LOT_CB 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_QINSP_LOT_CB INTO WA_QINSP_LOT_CB. *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 BILLOFOPERATIONSGROUP CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_QINSP_LOT_CB-BILLOFOPERATIONSGROUP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_QINSP_LOT_CB-BILLOFOPERATIONSGROUP.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field BILLOFOPERATIONSVARIANT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_QINSP_LOT_CB-BILLOFOPERATIONSVARIANT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_QINSP_LOT_CB-BILLOFOPERATIONSVARIANT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field MANUFACTURINGORDER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_QINSP_LOT_CB-MANUFACTURINGORDER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_QINSP_LOT_CB-MANUFACTURINGORDER.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field CUSTOMER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_QINSP_LOT_CB-CUSTOMER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_QINSP_LOT_CB-CUSTOMER.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field SUPPLIER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_QINSP_LOT_CB-SUPPLIER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_QINSP_LOT_CB-SUPPLIER.
WRITE:/ 'New Value:', ld_input.
*Conversion exit MATN1, internal->external for field MATERIAL CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_QINSP_LOT_CB-MATERIAL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_QINSP_LOT_CB-MATERIAL.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field PURCHASINGDOCUMENT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_QINSP_LOT_CB-PURCHASINGDOCUMENT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_QINSP_LOT_CB-PURCHASINGDOCUMENT.
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_QINSP_LOT_CB_STR,
PLANT TYPE STRING,
INSPECTIONLOTTYPE TYPE STRING,
INSPECTIONLOTORIGIN TYPE STRING,
MATLQUALITYAUTHORIZATIONGROUP TYPE STRING,
INSPECTIONLOTHASQUANTITY TYPE STRING,
INSPLOTISCREATEDAUTOMATICALLY TYPE STRING,
QLTYINPROCMTSTATUSPROFILE TYPE STRING,
BILLOFOPERATIONSTYPE TYPE STRING,
BILLOFOPERATIONSGROUP TYPE STRING,
BILLOFOPERATIONSUSAGE TYPE STRING,
BILLOFOPERATIONSVARIANT TYPE STRING,
MANUFACTURINGORDER TYPE STRING,
ORDERINTERNALBILLOFOPERATIONS TYPE STRING,
CUSTOMER TYPE STRING,
SUPPLIER TYPE STRING,
MATERIAL TYPE STRING,
BATCH TYPE STRING,
PURCHASINGORGANIZATION TYPE STRING,
PURCHASINGDOCUMENT TYPE STRING,
PURCHASINGDOCUMENTITEM TYPE STRING,
ACCOUNTINGDOCUMENTTYPE TYPE STRING,
GOODSMOVEMENTTYPE TYPE STRING,END OF T_EKKO_STR. DATA: WA_QINSP_LOT_CB_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_QINSP_LOT_CB_STR-PLANT sy-vline
WA_QINSP_LOT_CB_STR-INSPECTIONLOTTYPE sy-vline
WA_QINSP_LOT_CB_STR-INSPECTIONLOTORIGIN sy-vline
WA_QINSP_LOT_CB_STR-MATLQUALITYAUTHORIZATIONGROUP sy-vline
WA_QINSP_LOT_CB_STR-INSPECTIONLOTHASQUANTITY sy-vline
WA_QINSP_LOT_CB_STR-INSPLOTISCREATEDAUTOMATICALLY sy-vline
WA_QINSP_LOT_CB_STR-QLTYINPROCMTSTATUSPROFILE sy-vline
WA_QINSP_LOT_CB_STR-BILLOFOPERATIONSTYPE sy-vline
WA_QINSP_LOT_CB_STR-BILLOFOPERATIONSGROUP sy-vline
WA_QINSP_LOT_CB_STR-BILLOFOPERATIONSUSAGE sy-vline
WA_QINSP_LOT_CB_STR-BILLOFOPERATIONSVARIANT sy-vline
WA_QINSP_LOT_CB_STR-MANUFACTURINGORDER sy-vline
WA_QINSP_LOT_CB_STR-ORDERINTERNALBILLOFOPERATIONS sy-vline
WA_QINSP_LOT_CB_STR-CUSTOMER sy-vline
WA_QINSP_LOT_CB_STR-SUPPLIER sy-vline
WA_QINSP_LOT_CB_STR-MATERIAL sy-vline
WA_QINSP_LOT_CB_STR-BATCH sy-vline
WA_QINSP_LOT_CB_STR-PURCHASINGORGANIZATION sy-vline
WA_QINSP_LOT_CB_STR-PURCHASINGDOCUMENT sy-vline
WA_QINSP_LOT_CB_STR-PURCHASINGDOCUMENTITEM sy-vline
WA_QINSP_LOT_CB_STR-ACCOUNTINGDOCUMENTTYPE sy-vline
WA_QINSP_LOT_CB_STR-GOODSMOVEMENTTYPE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.