Saltar al contenido

usar todas las entradas existentes

Un Usuario hizo la siguiente pregunta

Dígame cómo usar «para cada entrada» para vincular dos

envía tablas para recuperar información utilizando los campos correspondientes en ambos tables.plz.

7 respuestas

  • Ex miembro

    Hola,

    diga si desea mostrar el contenido y su texto. puede utilizar este concepto.

    ~ de la tabla maestra estoy seleccionando los materiales basados ​​en la entrada s_matnr.

    ~ entonces, para los temas seleccionados anteriormente, necesito obtener la descripción correspondiente.

    es decir:

    seleccione matnr de marine en la tabla i_matnr

    coloque matnr en s_matnr.

    más sy-subrc = 0.

    seleccione matnr maktx

    de makt a la tabla i_makt

    para todas las entradas en i_matnr

    place matnr = i_mara-matnr.

    terminara si.

    Esto es similar al concepto de INNER JOIN. obtenga los datos comunes de 2 tablas basadas en la entrada. A veces, Join dará un rendimiento deficiente, puede usar PARA TODAS LAS ENTRADAS.

  • Ex miembro

    ALTA.

    La instrucción SELECT contiene una alternativa especial a la cláusula PLACE que le permite derivar condiciones de las líneas y columnas internas de la tabla:

    SELECCIONAR … PARA TODAS LAS ENTRADAS DÓNDE

    Mayo formulado como se describe anteriormente. Si especifica un campo de la tabla interna como trabajador en posición, aborda todas las líneas de la tabla interna. A continuación, se realiza la comparación para cada línea de la tabla interna. Para cada línea, el sistema selecciona las líneas de la tabla de la base de datos que satisfacen la condición. El conjunto de resultados de la instrucción SELECT es la unión de selecciones individuales para cada línea de la tabla interna. Las líneas duplicadas se eliminan automáticamente del conjunto de resultados. Si es así vacío, el complemento PARA TODAS LAS ENTRADAS se ignora y se leen todas las entradas.

    La tabla interna debe contener un tipo de línea estructurada , y todas las áreas que ocurren en la condición deben ser compatible con la columna de la base de datos que se está comparando. No utilice los operadores LIKE, BETWEEN e IN en comparaciones con campos de tabla internos. No puede usar la cláusula ORDER BY en la misma instrucción SELECT.

    Puede usar la opción TODAS LAS ENTRADAS para reemplazar los bucles anidados seleccionados con operaciones en tablas internas. Esto puede mejorar en gran medida el rendimiento de grandes conjuntos de datos seleccionados.

    Por ejemplo –

    DETALLES: TABLA DE TIPO TAF_SPFLI de SPFLI,

    TAB_SFLIGHT TYPE CLASIFICADO TABLA DE VUELO

    TODA LA LÍNEA CLAVE DE LA MESA,

    WA COMO LÍNEA DE TAB_SFLIGHT.

    SELECCIÓN DE CARRID CONNID

    EN AREAS CORRESPONDIENTES DE TABLA TAB_SPFLI

    De SPFLI

    CITYFROM LOCATION = ‘NUEVA YORK’.

    SELECCIONAR CARRID CONNID FLRATE

    EN LAS ZONAS CORRESPONDIENTES DE TABLE TAB_SFLIGHT

    De SFLIGHT

    PARA CADA ENTRADA EN TAB_SPFLI

    LUGAR CARRID = TAB_SPFLI-CARRID Y

    CONNID = TAB_SPFLI-CONNID.

    BUCLE EN TAB_SFLIGHT EN WA.

    AG NEW CONNID.

    ESCRIBA: / WA-CARRID, WA-CONNID.

    TERMINA EN.

    ESCRIBIR: / WA-FLDATE.

    ENDLOOP.

    Cuando use TODA SU ENTRADA, debe asegurarse de que la tabla que está usando no se deje en blanco. SELECCIONE todos los datos de esa tabla.

    Espero que ayude.

    Premie todas las respuestas útiles.

    Sobre.

    Arrendajo

  • Ex miembro

    Hola,

    Código de muestra:

    * Seleccione Número de pedido y fecha de la última acción para Desconectar número de documento

    SELECT discno discact actdate ordernum

    Oh ediscact

    EN LA TABLA lt_disc_act

    PARA CADA ENTRADA EN lt_status

    DONDE discno = lt_status-discno

    Y ordernum = espacio.

    Este código seleccionará datos para todos los valores que ya están en la tabla interna lt_status donde discno = lt_status-discno.

    Esto aumenta la eficiencia del código.

    Recompense los puntos si la respuesta es útil.

  • Ex miembro

    Hola,

    Puedes ver el código de muestra.

    SELECCIONAR bukrs

    belnr

    gjahr

    blart

    bldat

    budat

    monitor

    xblnr

    Ó bkpf

    EN LA TABLA it_header

    DONDE bukrs EN ccode Y

    belnr IN docno Y

    blart en doctype Y

    gjahr en el año Y

    budat IN período.

    SI it_header ESTÁ INICIADO.

    SELECCIONAR bukrs

    belnr

    buzei

    zuonr

    budat

    bschl

    wrbtr

    kostl

    gjahr

    shkzg

    hkont

    obleas

    Oh bsis

    EN LA TABLA it_item

    PARA CADA ENTRADA EN it_header

    DONDE bukrs = it_header-bukrs Y

    gjahr = it_header-gjahr Y

    belnr = it_header-belnr.

    aquí, verificando la condición si no es la INICIATIVA it_header. de lo contrario obligatorio si es inicial

    resultará en un vertido breve.

    Editado por: Srikanth Kadiyala el 2 de junio de 2008 12:48 p.m.

  • Ex miembro

    INFORME YVCHIERSEQ.

    TIPO-PISCINAS: SLIS.

    DETALLES: T_VBAK TIPO TABLA TIPO INICIATIVA TAMAÑO VBAK 0,

    T_VBAP TIPO TABLA TIPO VBAP INICIATIVA TAMAÑO 0,

    W_VBAK TIPO VBAK,

    V_AP TYPE W_VBAP,

    G_VBELN TIPO VBAK-VBELN,

    TIPO W_FIELDCAT SLIS_FIELDCAT_ALV,

    T_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

    TIPO W_KEYINFO SLIS_KEYINFO_ALV.

    SELECCIONANDO BLOQUE B1 CON MARCO.

    SELECCIONAR OPCIONES: S_VBELN PARA G_VBELN.

    BLOQUE DE SELECCIÓN DE PANTALLA FINAL B1.

    INICIATIVA.

    BORRAR: W_VBAK,

    W_VBAP.

    ACTUALIZAR: T_VBAK,

    T_VBAP.

    INICIO-SELECCIONAR.

    REALIZAR SUB_GET_VBAK.

    REALIZAR SUB_GET_VBAP.

    REALIZAR SUB_DISP_OUTPUT.

    FORM SUB_GET_VBAK.

    SELECCIONE * DE VBAK EN LA TABLA T_VBAK DONDE ES S_VBELN.

    ENDFORM.

    FORM SUB_GET_VBAP.

    SELECCIONAR * DE VBAP EN LA TABLA T_VBAP PARA TODAS LAS ENTRADAS EN EL LUGAR T_VBAK

    VBELN = T_VBAK-VBELN.

    ENDFORM.

    FORM SUB_DISP_OUTPUT.

    W_FIELDCAT-COL_POS = 1.

    W_FIELDCAT-FIELDNAME = ‘VBELN’.

    W_FIELDCAT-SELTEXT_M = ‘PEDIDO DE VENTA’.

    W_FIELDCAT-TABNAME = ‘VBAK’.

    APÉNDICE W_FIELDCAT A T_FIELDCAT.

    BORRAR W_FIELDCAT.

    W_FIELDCAT-COL_POS = 2.

    W_FIELDCAT-FIELDNAME = ‘ERNAM’.

    W_FIELDCAT-SELTEXT_M = ‘NOMBRE’.

    W_FIELDCAT-TABNAME = ‘VBAK’.

    APÉNDICE W_FIELDCAT A T_FIELDCAT.

    BORRAR W_FIELDCAT.

    W_FIELDCAT-COL_POS = 3.

    W_FIELDCAT-FIELDNAME = ‘VBTYP’.

    W_FIELDCAT-SELTEXT_M = ‘CATEGORÍA SD’.

    W_FIELDCAT-TABNAME = ‘VBAK’.

    APÉNDICE W_FIELDCAT A T_FIELDCAT.

    BORRAR W_FIELDCAT.

    W_FIELDCAT-COL_POS = 4.

    W_FIELDCAT-FIELDNAME = ‘KUNNR’.

    W_FIELDCAT-SELTEXT_M = ‘VENDIDO EN PARTE’.

    W_FIELDCAT-TABNAME = ‘VBAK’.

    APÉNDICE W_FIELDCAT A T_FIELDCAT.

    BORRAR W_FIELDCAT.

    W_FIELDCAT-COL_POS = 5.

    W_FIELDCAT-FIELDNAME = ‘NETWR’.

    W_FIELDCAT-SELTEXT_M = ‘VALOR NÚMERO’.

    W_FIELDCAT-TABNAME = ‘VBAK’.

    APÉNDICE W_FIELDCAT A T_FIELDCAT.

    BORRAR W_FIELDCAT.

    ******************************

    W_FIELDCAT-COL_POS = 1.

    W_FIELDCAT-FIELDNAME = ‘POSNR’.

    W_FIELDCAT-SELTEXT_M = ‘ARTÍCULO DE VENTA’.

    W_FIELDCAT-TABNAME = ‘VBAP’.

    APÉNDICE W_FIELDCAT A T_FIELDCAT.

    BORRAR W_FIELDCAT.

    W_FIELDCAT-COL_POS = 2.

    W_FIELDCAT-FIELDNAME = ‘MATNR’.

    W_FIELDCAT-SELTEXT_M = ‘SIN MATERIAL’.

    W_FIELDCAT-TABNAME = ‘VBAP’.

    APÉNDICE W_FIELDCAT A T_FIELDCAT.

    BORRAR W_FIELDCAT.

    W_FIELDCAT-COL_POS = 3.

    W_FIELDCAT-FIELDNAME = ‘MATKL’.

    W_FIELDCAT-SELTEXT_M = ‘COLCHONETA DE GRUPO’.

    W_FIELDCAT-TABNAME = ‘VBAP’.

    APÉNDICE W_FIELDCAT A T_FIELDCAT.

    BORRAR W_FIELDCAT.

    W_FIELDCAT-COL_POS = 4.

    W_FIELDCAT-FIELDNAME = ‘NETWR’.

    W_FIELDCAT-SELTEXT_M = ‘VALOR NÚMERO’.

    W_FIELDCAT-TABNAME = ‘VBAP’.

    APÉNDICE W_FIELDCAT A T_FIELDCAT.

    BORRAR W_FIELDCAT.

    W_KEYINFO-HEADER01 = ‘VBELN’.

    W_KEYINFO-ITEM01 = ‘VBELN’.

    FUNCIÓN DE APLICACIÓN ‘REUSE_ALV_HIERSEQ_LIST_DISPLAY’

    EXPORTACIONES

    • I_INTERFACE_CHECK = »

    I_CALLBACK_PROGRAM = SY-CPROG

    • I_CALLBACK_PF_STATUS_SET = »

    • I_CALLBACK_USER_COMMAND = »

    • IS_LAYOUT =

    IT_FIELDCAT = T_FIELDCAT

    • IT_EXCLUDING =

    • IT_SPECIAL_GROUPS =

    • IT_SORT =

    • IT_FILTER =

    • IS_SEL_HIDE =

    • I_SCREEN_START_COLUMN = 0

    • I_SCREEN_START_LINE = 0

    • I_SCREEN_END_COLUMN = 0

    • I_SCREEN_END_LINE = 0

    • I_DEFAULT = ‘X’

    • I_SAVE = » ‘

    • IS_VARIANT =

    • IT_EVENTS =

    • IT_EVENT_EXIT =

    i_tabname_header = «VBAK»

    i_tabname_item = ‘VBAP’

    • I_STRUCTURE_NAME_HEADER =

    • I_STRUCTURE_NAME_ITEM =

    is_keyinfo = W_KEYINFO

    • IS_PRINT =

    • IS_REPREP_ID =

    • I_BYPASSING_BUFFER =

    • I_BUFFER_ACTIVE =

    • IMPORTANTE

    • E_EXIT_CAUSED_BY_CALLER =

    • ES_EXIT_CAUSED_BY_USER =

    mesas

    t_outtab_header = T_VBAK

    t_outtab_item = T_VBAP

    • Excepciones

    • PROGRAM_ERROR = 1

    • OTRO = 2

    .

    SI sy-subrc <> 0.

    • TIPO DE ID DE MENSAJE SY-MSGID SY-MSGNO NÚMERO SY-MSGNO

    • LE SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

    TERMINARA SI.

    ENDFORM.

  • Ex miembro

    Hola

    ‘PARA TODAS LAS ENTRADAS’ se utiliza para mejorar el rendimiento de nuestros sistemas

    su buena práctica es escribir código que use menos acceso a la base de datos.

    ‘PARA TODAS LAS ENTRADAS’ se utiliza con tablas internas. donde se requieren datos de tres tablas. puedes hacerlo de dos formas.

    1) obtenga datos para itab individual y utilícelos con ‘PARA TODAS LAS ENTRADAS’

    y el número de otras tablas.

    o

    2) use uniones internas para tomar datos de dos tablas y colocarlos en itab1. ahora use ‘PARA TODAS LAS ENTRADAS’ con otra selección de statmt y use el itab1 y complete el tercer itab

    mismo código de muestra:

    seleccione vbeln

    posnr

    matwa

    matkl

    de vbap a la tabla vbap_it donde vbeln está en salesdoc.

    seleccione vbeln

    erdat

    ernam

    de vbak a la tabla vbap_it1 para todas las entradas en vbap_it

    donde vbeln = vbap_it-vbeln.

    utilizar dentro de su prog. y la población itab1

    luego use cada entrada en la siguiente pregunta seleccionada

    puntos de recompensa si es útil

    Sobre

    mano

  • Ex miembro

    Hola,

    Consulte el código adjunto.

    SELECCIONAR belnr

    gjahr

    bukrs

    awkey

    EN LA TABLA i_bkpf

    Ó bkpf

    PARA TODAS LAS ENTRADAS EN i_bsak

    DONDE belnr = i_bsak-belnr

    Y gjahr = i_bsak-gjahr

    Y bukrs = i_bsak-bukrs.