Slideshow

ABAP örnekleri, örnek abap kodlari,abap nedir, sap nedir

24 Mart 2009 Salı

TABLE OKUMA VE CALL TRANSACTION

TABLES: EKKO,
EKPO.

DATA: BEGIN OF IT_EKKO OCCURS 0,
EBELN LIKE EKKO-EBELN,
AEDAT LIKE EKKO-AEDAT,
ERNAM LIKE EKKO-ERNAM,
LIFNR LIKE EKKO-LIFNR,
WAERS LIKE EKKO-WAERS,
INDEX TYPE I ,
END OF IT_EKKO.

DATA:BEGIN OF IT_EKPO OCCURS 3,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
MATNR LIKE EKPO-MATNR,
WERKS LIKE EKPO-WERKS,
LGORT LIKE EKPO-LGORT,
MENGE LIKE EKPO-MENGE,
MEINS LIKE EKPO-MEINS,
NETPR LIKE EKPO-NETPR,
COLNO LIKE SY-COLNO,
END OF IT_EKPO.

SELECT-OPTIONS S_EBELN FOR EKKO-EBELN.
" select-OPTIONS aedat for ekko-aedat.
"select-OPTIONS ernam for ekko-ernam.
"SELECT-OPTIONS lifnr for ekko-lifnr.
" select-OPTIONS waers for ekko-waers.

"select * from ekko
SELECT * FROM EKKO WHERE EBELN IN S_EBELN.
IT_EKKO-EBELN = EKKO-EBELN.
IT_EKKO-AEDAT = EKKO-AEDAT.
IT_EKKO-ERNAM = EKKO-ERNAM.
IT_EKKO-LIFNR = EKKO-LIFNR.
IT_EKKO-WAERS = EKKO-WAERS.
IT_EKKO-INDEX = SY-TABIX.

APPEND IT_EKKO.
ENDSELECT.

FORMAT COLOR COL_POSITIVE.

LOOP AT IT_EKKO.
ULINE AT /1(77).
NEW-LINE NO-SCROLLING.
WRITE: '|',IT_EKKO-EBELN HOTSPOT ON ,'|',IT_EKKO-AEDAT,'|',IT_EKKO-ERNAM,'|',IT_EKKO-LIFNR,'|',IT_EKKO-WAERS,'|',SY-TABIX,'|'.
HIDE:IT_EKKO-EBELN.
"HIDE: it_spfli-CARRID, it_spfli-CONNID.
ENDLOOP.

AT LINE-SELECTION.
IF SY-LSIND < 3.
CASE SY-LSIND.
WHEN 1.
PERFORM SELECTION-EXECUTE.
WHEN 2.
PERFORM SELECTION-MATRN.
ENDCASE.
ENDIF.
*&---------------------------------------------------------------------*
*& Form selection-execute
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*






FORM SELECTION-EXECUTE.
DATA: INDEX_ TYPE I VALUE 0.
INDEX_ = SY-CUROW - 2.
DATA A LIKE SY-COLNO.
DATA: ITAB_EKKO LIKE IT_EKKO OCCURS 0 WITH HEADER LINE.
"Read table it_ekko INDEX SY-LSIND INTO itab_ekko.
"read table sy-lisel into itab_ekko.
SELECT * FROM EKPO WHERE EBELN = IT_EKKO-EBELN.
IT_EKPO-EBELN = EKPO-EBELN .
IT_EKPO-EBELP = EKPO-EBELP.
IT_EKPO-MATNR = EKPO-MATNR.
IT_EKPO-WERKS = EKPO-WERKS.
IT_EKPO-LGORT = EKPO-LGORT.
IT_EKPO-MENGE = EKPO-MENGE.
IT_EKPO-MEINS = EKPO-MEINS.
IT_EKPO-NETPR = EKPO-NETPR.
IT_EKPO-COLNO = SY-COLNO.
APPEND IT_EKPO.
ENDSELECT.
FORMAT COLOR COL_KEY.
"WRITE: IT_EKPO-EBELN,'specifi.'.
"SKIP.
"uline.
"skip.


LOOP AT IT_EKPO.
ULINE AT /1(100).
NEW-LINE NO-SCROLLING.
WRITE: '|',IT_EKPO-EBELN ,'|',IT_EKPO-EBELP,'|'.
WRITE:IT_EKPO-MATNR COLOR = 12 HOTSPOT ON.
WRITE: '|',IT_EKPO-WERKS,'|',IT_EKPO-LGORT,'|',IT_EKPO-MENGE,'|',IT_EKPO-MEINS,'|',IT_EKPO-NETPR,'|'.
HIDE: IT_EKPO-MATNR.
ENDLOOP.
"AT LINE-SELECTION.
"PERFORM SELECTION-MATRN.

ULINE AT /1(100) NO-GAP.


ENDFORM. "selection-execute


*&---------------------------------------------------------------------*
*& Form selection-matrn
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM SELECTION-MATRN.

IF IT_EKPO-MATNR EQ ''.
"message error
ELSE.
"PARAMETERs SENDMATNR like mara-mantr.
SET PARAMETER ID: 'MAT' FIELD it_ekpo-matnr.
SET PARAMETER ID: 'K' field 'x'.
"PARAMETER like mara
CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN .


ENDIF.

"""

"PARAMETERS P_MATNR LIKE MARA-MATNR. "DD ref. as in MM03
"SET PARAMETER ID 'MAT' FIELD P_MATNR. "ID for MARA-MATNR
"CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN

ENDFORM. "selection-matrn

Hiç yorum yok:

Yorum Gönder