1
Programación ABAP / Selects - tabla interna - condición.
« en: 01 de Junio de 2008, 07:22:44 pm »
Hola, soy muy nuevo en esto de programar y en ABAP. Intento crear una tabla interna que me selecciona campos de varias tablas relacionadas con pedidos...
Mi duda, es como hacer una condición en un campo, en concreto el campo KNTTP en la tabla EKPO. Si este campo es = '' debo hacer el select igual pero sin la tabla de imputación (EKKN)
Os dejo el codigo del select por aquí. Agradeceria eternamente una ayuda.
Muchas gracias,
Slirt.
* Fecha de Entrega
select ebelp ebeln eindt into (eket-ebelp,eket-ebeln,eket-eindt)
from eket
where eindt in Fecha and
ebeln in pedido.
* Cabecera Pedido.
select ebeln lifnr bukrs bsart into (ekko-ebeln,ekko-lifnr,
ekko-bukrs, ekko-bsart)
from ekko
where
ebeln in Pedido and
bukrs in sociedad and
bsart in Cpedido and
ebeln = eket-ebeln.
* Posición del pedido. Condición 1
select ebeln ebelp txz01 netpr knttp menge loekz into
(ekpo-ebeln,
ekpo-ebelp,ekpo-txz01,ekpo-netpr,ekpo-knttp, ekpo-menge,
ekpo-loekz)
from ekpo
where
ebeln = eket-ebeln and
ebelp = eket-ebelp and
knttp <> ''.
*Imputacion del pedido.
select ebelp ebeln sakto kostl aufnr into (ekkn-ebelp,ekkn-ebeln,
ekkn-sakto,ekkn-kostl,ekkn-aufnr)
from ekkn
where
kostl in centro and
sakto in Cmayor and
aufnr in orden and
ebeln = eket-ebeln and
ebelp = eket-ebelp
.
* Maestro de Proveeedors.
select single name1 into lfa1-name1
from lfa1
where lifnr = ekko-lifnr.
* Historial de pedido.
select * from ekbe
where ebeln = eket-ebeln and
ebelp = eket-ebelp and
( bewtp = 'R' or bewtp = 'Q' ).
endselect.
Mi duda es como indicarle una condición en caso de que un campo de la tabla esté vacio. Si ese campo está vacio quiero seguir haciendo el select pero sin
Mi duda, es como hacer una condición en un campo, en concreto el campo KNTTP en la tabla EKPO. Si este campo es = '' debo hacer el select igual pero sin la tabla de imputación (EKKN)
Os dejo el codigo del select por aquí. Agradeceria eternamente una ayuda.
Muchas gracias,
Slirt.
* Fecha de Entrega
select ebelp ebeln eindt into (eket-ebelp,eket-ebeln,eket-eindt)
from eket
where eindt in Fecha and
ebeln in pedido.
* Cabecera Pedido.
select ebeln lifnr bukrs bsart into (ekko-ebeln,ekko-lifnr,
ekko-bukrs, ekko-bsart)
from ekko
where
ebeln in Pedido and
bukrs in sociedad and
bsart in Cpedido and
ebeln = eket-ebeln.
* Posición del pedido. Condición 1
select ebeln ebelp txz01 netpr knttp menge loekz into
(ekpo-ebeln,
ekpo-ebelp,ekpo-txz01,ekpo-netpr,ekpo-knttp, ekpo-menge,
ekpo-loekz)
from ekpo
where
ebeln = eket-ebeln and
ebelp = eket-ebelp and
knttp <> ''.
*Imputacion del pedido.
select ebelp ebeln sakto kostl aufnr into (ekkn-ebelp,ekkn-ebeln,
ekkn-sakto,ekkn-kostl,ekkn-aufnr)
from ekkn
where
kostl in centro and
sakto in Cmayor and
aufnr in orden and
ebeln = eket-ebeln and
ebelp = eket-ebelp
.
* Maestro de Proveeedors.
select single name1 into lfa1-name1
from lfa1
where lifnr = ekko-lifnr.
* Historial de pedido.
select * from ekbe
where ebeln = eket-ebeln and
ebelp = eket-ebelp and
( bewtp = 'R' or bewtp = 'Q' ).
endselect.
Mi duda es como indicarle una condición en caso de que un campo de la tabla esté vacio. Si ese campo está vacio quiero seguir haciendo el select pero sin