Está en la página 1de 8

CLASE PUBLICA

SE AGREGA UN METODO , de la instancia con una visibilidad PUBLICA.

EL mtodo realiza un SELECT FOR ALL ENTRIES EKKO, LFA1, EKBE, EKKN, ANLA. Con un parmetro

las tablas EKPO,

Declaracin de las estructuras:

Types

types: BEGIN OF TAB, "ESTRUCTURA GENERAL. EBELN TYPE EKKO-EBELN, TXZ01 TYPE EKPO-TXZ01, MATNR TYPE EKPO-MATNR, WERKS TYPE EKPO-WERKS, MENGE TYPE EKPO-MENGE, NETPR TYPE EKPO-NETPR, MEINS TYPE EKPO-MEINS, EBELP TYPE EKPO-EBELP, BEDAT TYPE EKKO-BEDAT,

LIFNR TYPE EKKO-LIFNR, NAME1 TYPE LFA1-NAME1, BWART TYPE EKBE-BWART, LFGJA TYPE EKBE-LFGJA, GJAHR TYPE EKBE-GJAHR, AUFNR TYPE EKKN-AUFNR, ANLN1 TYPE EKKN-ANLN1, ANLN2 TYPE EKKN-ANLN2, ANLKL TYPE ANLA-ANLKL, END OF TAB . types: BEGIN OF t_ekpo, EBELN TYPE EKPO-EBELN, TXZ01 TYPE EKPO-TXZ01, MATNR TYPE EKPO-MATNR, WERKS TYPE EKPO-WERKS, MENGE TYPE EKPO-MENGE, NETPR TYPE EKPO-NETPR, MEINS TYPE EKPO-MEINS, EBELP TYPE EKPO-EBELP, END OF t_ekpo . types: BEGIN OF T_EKKO, EBELN TYPE EKKO-EBELN, BUKRS TYPE EKKO-BUKRS, LIFNR TYPE EKKO-LIFNR, BEDAT TYPE EKKO-BEDAT, END OF T_EKKO . types: BEGIN OF T_LFA1, LIFNR TYPE LFA1-LIFNR, NAME1 TYPE LFA1-NAME1, END OF T_LFA1 . types: BEGIN OF T_EKBE , EBELN TYPE EKBE-EBELN, LFGJA TYPE EKBE-LFGJA, BWART TYPE EKBE-BWART, GJAHR TYPE EKBE-GJAHR, END OF T_EKBE . types: BEGIN OF T_EKKN, EBELN TYPE EKKN-EBELN,

ANLN1 TYPE EKKN-ANLN1, ANLN2 TYPE EKKN-ANLN2, AUFNR TYPE EKKN-AUFNR, WEMPF TYPE EKKN-WEMPF, END OF T_EKKN . types: BEGIN OF T_ANLA, ANLKL TYPE ANLA-ANLKL, BUKRS TYPE ANLA-BUKRS, END OF T_ANLA .
IMPLEMENTACION DEL METODO GET_DATA GET_DATA *************** RECUERDA QUE EN POO NO SE UTILIZAN CABECERAS.

DECLARACION data: wa_tab wa_AUX it_tab it_aux

DE TABLAS INTERNAS Y WA. type type TYPE TYPE tab, " work area tab, " work area TABLE OF TAB, TABLE OF TAB, " tabla auxiliar

wa_ekpo type t_ekpo, it_ekpo type table of t_ekpo, wa_ekko type t_ekko, it_ekko type table of t_ekko, wa_lfa1 type t_lfa1, it_lfa1 type table of t_lfa1, wa_EKBE type t_EKBE, it_EKBE TYPE TABLE OF T_EKBE, wa_EKKN type t_EKKN, it_EKKN type table of t_EKKN, wa_ANLA type T_ANLA, it_ANLA type table of T_ANLA. SELECT EBELN TXZ01 MATNR WERKS MENGE BELP INTO TABLE IT_EKPO NETPR MEINS E

FROM EKPO WHERE EBELN = IM_EBELN. SELECT EBELN BUKRS LIFNR BEDAT INTO TABLE IT_EKKO FROM EKKO FOR ALL ENTRIES IN IT_EKPO WHERE EBELN = IT_EKPO-EBELN. SELECT LIFNR NAME1 into table it_lfa1 from lfa1 FOR ALL ENTRIES IN IT_EKKO WHERE LIFNR = IT_EKKO-LIFNR. SELECT EBELN LFGJA BWART GJAHR INTO TABLE IT_EKBE FROM EKBE FOR ALL ENTRIES IN IT_EKPO WHERE EBELN = IT_EKPO-EBELN. SELECT EBELN ANLN1 ANLN2 AUFNR WEMPF INTO TABLE IT_EKKN FROM EKKN FOR ALL ENTRIES IN IT_EKPO WHERE EBELN = IT_EKPO-EBELN. SELECT BUKRS ANLKL INTO TABLE IT_ANLA FROM ANLA FOR ALL ENTRIES IN IT_EKkO WHERE BUKRS = It_EKkO-BUKRS. LOOP AT IT_EKPO INTO WA_EKPO. READ TABLE IT_EKKO INTO WA_EKKO -EBELN BINARY SEARCH. READ TABLE IT_LFA1 INTO WA_LFA1 -LIFNR BINARY SEARCH. READ TABLE IT_EKBE INTO WA_EKBE -EBELN BINARY SEARCH. READ TABLE IT_EKKN INTO WA_EKKN -EBELN BINARY SEARCH. READ TABLE IT_ANLA INTO WA_ANLA -BUKRS BINARY SEARCH. WITH KEY EBELN = wa_EKPO WITH KEY LIFNR = wa_EKKO WITH KEY EBELN = wa_EKPO WITH KEY EBELN = wa_EKPO WITH KEY BUKRS = wa_EKkO

WA_TAB-EBELN WA_TAB-txz01 WA_TAB-MATNR WA_TAB-WERKS WA_TAB-MENGE WA_TAB-NETPR WA_TAB-MEINS WA_TAB-EBELP WA_TAB-BEDAT WA_TAB-LIFNR WA_TAB-NAME1

= = = = = = = = = = =

WA_EKKO-EBELN. WA_EKpo-txz01. WA_EKPO-MATNR. WA_EKPO-WERKS. WA_EKPO-MENGE. WA_EKPO-NETPR. WA_EKPO-MEINS. WA_EKPO-EBELP. WA_EKKO-BEDAT. WA_EKKO-LIFNR. WA_LFA1-NAME1.

WA_TAB-BWART = WA_EKBE-BWART. WA_TAB-LFGJA = WA_EKBE-LFGJA. WA_TAB-GJAHR = WA_EKBE-GJAHR. WA_TAB-AUFNR = WA_EKKN-AUFNR. WA_TAB-ANLN1 = WA_EKKN-ANLN1. WA_TAB-ANLN2 = WA_EKKN-ANLN2. WA_TAB-ANLKL = WA_ANLA-ANLKL. APPEND WA_TAB TO IT_AUX. ENDLOOP. TABLA[] = IT_AUX[]. TAB1[] = IT_AUX[].
AL PROBAR EL METODO

Obtenemos los datos en una tabla interna.

LLAMADA DE LA CLASE DESDE UN PROGRAMA ABAP


***********LLAMA AL METODO *DECLARACION DEL LA INSTANCIA PARAMETERS: P_EBELN TYPE EKPOEBELN DEFAULT '3000000007'. TYPES: TAB TYPE ZFINAL1. DATA: IT_TAB TYPE TABLE OF tab, WA_TAB type tab.

*CREA LA REFERENCIA DATA: INS TYPE REF TO ZCL_CLASS_CLASSIC. START-OF-SELECTION. * CREAR EL OBJETO CREATE OBJECT INS. CALL METHOD INS->GET_DATA EXPORTING IM_EBELN = P_EBELN IMPORTING TAB1 = IT_TAB. LOOP AT IT_TAB INTO WA_TAB. WRITE:/ WA_TAB-EBELN, WA_TAB-MATNR, WA_TAB-WERKS, WA_TAB-MENGE , WA_TAB-NETPR, WA_TAB-MEINS, WA_TAB-EBELP, WA_TAB-BEDAT, WA_TAB-LIFNR, WA_TAB-NAME1, WA_TAB-EBELN, WA_TAB-BWART, WA_TAB-LFGJA, WA_TAB-GJAHR, WA_TAB-AUFNR, WA_TAB-ANLN1, WA_TAB-ANLN2, WA_TAB-ANLKL. ENDLOOP.

También podría gustarte