¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Problema ao obter dados de itab_likp e jtab_lips - Guia para resolver discrepância de dados

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 6 Vistas
0
Cargando...

Olá a todos!

Aqui estou enviando também o código. Estou obtendo dados para itab_likp, mas não estou obtendo dados para jtab_lips.

Executei ambas as tabelas com o valor vbeln, os dados estão lá, então por que não estou obtendo dados?

Por favor, me guie.

TYPE-POOLS: SLIS.

TABLES: LIKP, LIPS.

DATA: BEGIN OF ITAB_LIKP OCCURS 0,

BLDAT LIKE LIKP-BLDAT,

VBELN LIKE LIKP-VBELN,

BTGEW LIKE LIKP-BTGEW,

END OF ITAB_LIKP.

DATA: BEGIN OF JTAB_LIPS OCCURS 0,

VBELN LIKE LIKP-VBELN,

MATNR LIKE LIPS-MATNR,

ARKTX LIKE LIPS-ARKTX,

VRKME LIKE LIPS-VRKME,

END OF JTAB_LIPS.

selection-screen begin of block b with frame title t1.

select-options: date_pos for LIKP-BLDAT.

SKIP 2.

select-options: DCN for LIKP-VBELN.

SELECTION-SCREEN END OF BLOCK B.

INITIALIZATION.

T1 = 'DELIVERY CHALLAN'.

start-of-selection.

SELECT BLDAT VBELN BTGEW FROM LIKP INTO CORRESPONDING FIELDS OF TABLE ITAB_LIKP

WHERE BLDAT IN DATE_POS AND VBELN IN DCN.

SELECT MATNR ARKTX VRKME FROM LIPS INTO CORRESPONDING FIELDS OF TABLE JTAB_LIPS

FOR ALL ENTRIES IN ITAB_LIKP

WHERE VBELN = ITAB_LIKP-VBELN.

Saudações:

Manoj

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá Manoj,

Na tabela jtab_lips, você declarou 4 campos na estrutura da tabela interna. No entanto, está lendo apenas 3 campos da instrução select.

Sempre que usar a instrução for all entries, verifique se itab_likp está inicializado ou não.

Caso contrário, você obterá valores desconhecidos e o desempenho será muito lento.

Revise seu código uma vez e modifique-o completamente. Seu código está afetando negativamente o banco de dados.

Cumprimentos,

Santosh Kumar Mukka.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

Coloque um ponto de interrupção na segunda consulta SELECT e verifique se IT_LIKP tem algum valor para VBELN ou não.

Seu código deve ser assim.

start-of-selection.

SELECT BLDAT VBELN BTGEW FROM LIKP INTO CORRESPONDING FIELDS OF TABLE ITAB_LIKP

WHERE BLDAT IN DATE_POS AND VBELN IN DCN.

IF IT_LIKP IS NOT INITIAL.

SELECT MATNR ARKTX VRKME FROM LIPS INTO CORRESPONDING FIELDS OF TABLE JTAB_LIPS

FOR ALL ENTRIES IN ITAB_LIKP

WHERE VBELN = ITAB_LIKP-VBELN.

ENDIF.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

Seu código está funcionando bem.

Pode ser um problema com seus dados,

Verifique se as tabelas possuem esse valor de seleção específico.

Como mencionado na resposta anterior, verifique a condição NOT initial e adicione VBELN na segunda consulta select.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Se likp não for inicial.

-


só então buscar o registro dos lábios.

fim.

Sempre que estivermos usando For All Entries,

lembre-se de verificar se a tabela anterior está vazia ou não.

Apenas tente fazer isso.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?