Skip to Content

Create a New ABAP Dictionary Structure

Create an ABAP Dictionary structure for retrieving data from a database
You will learn
  • How to create an Data Dictionary structure
julieplummer20Julie PlummerDecember 19, 2021
Created by
julieplummer20
June 28, 2017
Contributors
julieplummer20
julieplummer20

Prerequisites

  • Step 1

    Now, you will create a global Data Dictionary (“DDIC”) structure: In the toolbar, select New, then choose Other ABAP Repository Object.

    Image depicting step1a-create-new
  • Step 2

    In the wizard that appears, filter the list of ABAP repository object types by entering **struct**.

    Image depicting step2-filter-type
  • Step 3

    Then enter the following and choose Finish.
    - Name = ZSO_INVOICE_ITEM
    - Description = for example, Invoice item structure

    Image depicting step10c-define-ddic-structure-finish

    A new text editor is opened showing the content of the newly created Data Dictionary structure.

  • Step 4

    Remove the generated example component component_to_be_changed from the structure:

    Image depicting step12-remove-component
  • Step 5

    In the item structure, define the fields company_name, amount, currency_code, and payment_status, and assign them to the relevant data elements as follows:

    ABAP
    Copy
      company_name   : snwd_company_name;
      amount         : snwd_ttl_gross_amount;
      currency_code  : snwd_curr_code;
      payment_status : snwd_soi_payment_status_code;
    
    
    Image depicting step5-define-fields

    The editor shows a syntax error because the amount has not yet been bound to the currency code.

  • Step 6

    To bind the amount to the currency code:

    1. Add a new line in front of the field amount, add @ and open code completion, by entering Ctrl+Space. A list of all possible annotations is shown.

    2. Select the annotation @Semantics.amount.currencyCode.

      Image depicting step12a-select-annotation
    3. Trigger the code completion again: enter : ' after @Semantics.amount.currencyCode, then choose Ctrl+Space, then choose the annotation zso_invoice_item.currency_code:

      Image depicting step12b-choose-annotation-currency-code
    4. Finally choose Save (Ctrl+S)

    You should no longer get a syntax error.

  • Step 7

    Back in the structure ZSO_INVOICE_ITEM, choose Check ABAP Development Object (Ctrl+F2). Then choose Activate (Ctrl+F3).

    The Data Dictionary structure ZSO_INVOICE_ITEM is now activated.

    Your code should look like this:

    ABAP
    Copy
    @EndUserText.label : 'Invoice Item Structure'
    @AbapCatalog.enhancementCategory : #NOT_EXTENSIBLE
    define type zso_invoice_item {
      company_name   : snwd_company_name;
      @Semantics.amount.currencyCode : 'zso_invoice_item.currency_code'
      amount         : snwd_ttl_gross_amount;
      currency_code  : snwd_curr_code;
      payment_status : snwd_soi_payment_status_code;
    
    }
    
    
  • Step 8

    Which annotation do you use to indicate that a field is a quantity field?

Back to top