Sie sind auf Seite 1von 4

*&---------------------------------------------------------------------*

*& Module Pool Z_DP_05


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

PROGRAM z_dp_05.

""""""""""""""""""""""""ASSIGNING STRUCTURE""""""""""""""""""""""""""
TYPES:
""""""""""""""""""""""""""""EKPO TABLE""""""""""""""""""""""""""""""""
BEGIN OF ty_ekpo,
matnr TYPE matnr, "MATERIAL NUMBER
werks TYPE ewerk, "PLANT
lgort TYPE lgort_d, "STORAGE LOCATION
menge TYPE bstmg, "QUANTITY
netpr TYPE bprei, "PRICE
END OF ty_ekpo,

"""""""""""""""""""""""""""""MAKT TABLE""""""""""""""""""""""""""""""""""
BEGIN OF ty_makt,
matnr TYPE matnr, "MATERIAL NUMBER
maktx TYPE maktx, "DESCRIPTION
END OF ty_makt,

"""""""""""""""""""""""""""""FINAL TABLE""""""""""""""""""""""""""""""""""
BEGIN OF ty_final,
item(3) TYPE c, "ITEM NUMBER
matnr TYPE matnr, "MATERIAQL NUMBER
werks TYPE ewerk, "PLANT
lgort TYPE lgort_d, "STORAGE LOCATION
menge TYPE bstmg, "QUANTITY
netpr TYPE bprei, "PRICE
maktx TYPE maktx, "DESCRIPTION
END OF ty_final.

"""""""""""""""""""""""""""""INTERNAL TABLE AND WORK AREA""""""""""""""""""""


DATA:

""""""""""""""""""""""""""""EKPO TABLE""""""""""""""""""""""""""""""""""""""
it_ekpo TYPE STANDARD TABLE OF ty_ekpo,
wa_ekpo TYPE ty_ekpo,

"""""""""""""""""""""""""""""MAKT TABLE"""""""""""""""""""""""""""""""""""
it_makt TYPE STANDARD TABLE OF ty_makt,
wa_makt TYPE ty_makt,

""""""""""""""""""""""""""""""FINAL TABLE""""""""""""""""""""""""""""""""""
it_final TYPE STANDARD TABLE OF ty_final,
wa_final TYPE ty_final,

ok_code TYPE sy-ucomm,


dynpread TYPE TABLE OF dynpread WITH HEADER LINE,
item(3) TYPE c . "ITEM NUMBER
CONTROLS: tc_01 TYPE TABLEVIEW USING SCREEN 9000.

"""""""""""""""""""""""""PROGRAM STARTS""""""""""""""""""""""""""""""""""""""
START-OF-SELECTION.
CALL SCREEN 9000. "CALLING SCREEN

*&---------------------------------------------------------------------*
*& Module STATUS_9000 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_9000 OUTPUT.
SET PF-STATUS 'PF_STAT'.
SET TITLEBAR 'TITLE'.

ENDMODULE. " STATUS_9000 OUTPUT


*&---------------------------------------------------------------------*
*& Module USER_COMMAND_9000 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_9000 INPUT.
CASE sy-ucomm.
WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
LEAVE PROGRAM.

WHEN 'ENTER'.

"""""""""""""""""""""""""""""FOR ITEM NUMBER"""""""""""""""""""""""""""


item = item + 10.

""""""""""""""""""""""""""""INPUT MATNR"""""""""""""""""""""""""""""""
dynpread-fieldname = 'WA_FINAL-MATNR'.
APPEND dynpread.

CALL FUNCTION 'DYNP_VALUES_READ'


EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
TABLES
dynpfields = dynpread.

wa_ekpo-matnr = dynpread-fieldvalue.

CLEAR dynpread.

""""""""""""""""""""""""""""INPUT PLANTS"""""""""""""""""""""""""""""""""""
dynpread-fieldname = 'WA_FINAL-WERKS'.
APPEND dynpread.

CALL FUNCTION 'DYNP_VALUES_READ'


EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
TABLES
dynpfields = dynpread.

wa_ekpo-werks = dynpread-fieldvalue.

CLEAR dynpread.
"""""""""""""""""""""""""""""INPUT
QUANTITY""""""""""""""""""""""""""""""""""""""

dynpread-fieldname = 'WA_FINAL-MENGE'.
APPEND dynpread.

CALL FUNCTION 'DYNP_VALUES_READ'


EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
TABLES
dynpfields = dynpread.

wa_ekpo-menge = dynpread-fieldvalue.

CLEAR dynpread.
REFRESH it_ekpo.
APPEND wa_ekpo TO it_ekpo.
CLEAR wa_ekpo.

"""""""""""""""""""""""""""SELECTING FIELDS - EKPO


TABLE"""""""""""""""""""""""""""
SELECT
matnr
werks
lgort
menge
netpr
FROM ekpo
INTO TABLE it_ekpo
FOR ALL ENTRIES IN it_ekpo
WHERE matnr = it_ekpo-matnr AND
werks = it_ekpo-werks.

""""""""""""""""""""""""""""""""SELECTING FIELDS - MAKT


TABLE""""""""""""""""""""""""""
IF it_ekpo IS NOT INITIAL.
SELECT matnr
maktx
FROM makt
INTO TABLE it_makt
FOR ALL ENTRIES IN it_makt
WHERE matnr = it_makt-matnr.
"""""""""""""""""""""""""""""""APPENDING FIELDS TO FINAL
TABLE"""""""""""""""""""

LOOP AT it_ekpo INTO wa_ekpo.

wa_final-item = wa_final-item + item.


wa_final-lgort = wa_ekpo-lgort.
wa_final-netpr = wa_ekpo-netpr.
wa_final-matnr = wa_ekpo-matnr.
wa_final-menge = wa_ekpo-menge.
wa_final-werks = wa_ekpo-werks.
READ TABLE it_makt INTO wa_makt WITH KEY matnr = wa_ekpo-matnr.
wa_final-maktx = wa_makt-maktx.

APPEND wa_final TO it_final.


ENDLOOP.
ENDIF.
ENDCASE.

ENDMODULE. " USER_COMMAND_9000 INPUT

Das könnte Ihnen auch gefallen