Saltar al contenido

Crear ABAP World Class

En un tutorial anterior (Mostrar el contenido de la base de datos y ejecutar consultas SQL), generó un SELECT declaración usando la consola SQL. La ventaja de usar una consola SQL es que puede reducir los errores definiendo cláusulas, como JOIN, WHERE, or ORDER BY – simplemente usando la Vista previa de datos. La Consola SQL genera automáticamente la instrucción SELECT correcta para usted.

Usarás este generado ahora SELECT una declaración en su clase para recuperar los datos de la base de datos.

Nota: Le recomendamos encarecidamente que comprenda la Consola SQL siguiendo el tutorial anterior. Sin embargo, si ya no tiene abierta la consola SQL, puede copiar lo siguiente SELECT una declaración sobre la aplicación del método (consulte el paso 3 a continuación).

  1. Regrese a la consola SQL:

  2. Cambie el tamaño de la consulta y copie la instrucción Open SQL usando el acceso directo Ctrl + C.:

    Imagen que muestra step8-sql-console

  3. Ahora en tu clase ZCL_INVOICE_RETRIEVAL, pegue la declaración en la implementación del método get_items_from_db (usando Ctrl + V.):

Esto debería parecerse al código de la consola SQL. Tenga en cuenta que la sección de consulta de la Consola SQL agrega automáticamente la cláusula INTO INTO TABLE @DATA(LT_RESULT).

SELECT
   SNWD_BPA~COMPANY_NAME,
   SNWD_SO_INV_ITEM~GROSS_AMOUNT,
   SNWD_SO_INV_ITEM~CURRENCY_CODE,
   SNWD_SO_INV_HEAD~PAYMENT_STATUS
 FROM
  SNWD_SO_INV_ITEM JOIN SNWD_SO_INV_HEAD ON SNWD_SO_INV_ITEM~PARENT_KEY = SNWD_SO_INV_HEAD~NODE_KEY JOIN SNWD_BPA ON SNWD_SO_INV_HEAD~BUYER_GUID = SNWD_BPA~NODE_KEY
 WHERE
  SNWD_SO_INV_ITEM~CURRENCY_CODE = 'USD'
 ORDER BY  SNWD_BPA~COMPANY_NAME
 INTO TABLE @DATA(LT_RESULT).
 UP TO 100 ROWS.

La declaración UP TO 100 ROWS causará un error. Bórralo.

Hecho

Inicie sesión para responder la pregunta