Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

MATERIAL_MAINTAIN_DARK

Former Member
0 Kudos

Hi folks,

I am using this Funtion module MATERIAL_MAINTAIN_DARK.

But i am getting a error of No description transferred.

Can any body give me sample code that uses this Function module.

2 REPLIES 2

Former Member
0 Kudos

Reward points..

0 Kudos

REPORT ZSSS.

*----


*

  • INCLUDES *

*----


*

  • Definition data include

  • INCLUDE ZPROGRAM_TOP.

  • Forms definition include

  • INCLUDE ZPROGRAM_SUB.

*----

-


  • Tables *

*----

-


TABLES: lfa1, LFB1,LFB5, lfm1,

mara, marc, mbew, steu, mvke, mard.

*----

-


  • Types *

*----

-


*----

-


  • Predefine classes *

*----

-


  • CLASS XXX.

*----

-


  • Data *

*----

-


  • Data - Internal Tables

  • Data - Structures

  • Data - Variables and flags

DATA:

gt_errs TYPE merrdat OCCURS 0 WITH HEADER LINE,

gt_mara_ueb TYPE mara_ueb OCCURS 0 WITH HEADER LINE,

gt_marc_ueb TYPE marc_ueb OCCURS 0 WITH HEADER LINE,

gt_mard_ueb TYPE mard_ueb OCCURS 0 WITH HEADER LINE,

gt_mbew_ueb TYPE mbew_ueb OCCURS 0 WITH HEADER LINE,

gt_mvke_ueb TYPE mvke_ueb OCCURS 0 WITH HEADER LINE.

types: begin of g_ty_s_test,

select_amount type i,

no_info_popup type char1,

info_popup_once type char1,

events type lvc_fname occurs 0,

events_info_popup type lvc_fname occurs 0,

bypassing_buffer type char1,

buffer_active type char1,

end of g_ty_s_test,

BEGIN OF tlfa1,

lifnr LIKE lfa1-lifnr,

AKONT LIKE LFB1-AKONT,

ZUAWA LIKE LFB1-ZUAWA,

FDGRV LIKE LFB1-FDGRV,

VZSKZ LIKE LFB1-VZSKZ,

ZINDT(10),

ZINRT LIKE LFB1-ZINRT,

DATLZ(10),

ALTKN LIKE LFB1-ALTKN,

  • qsskz like LFB1-qsskz,

ZTERM LIKE LFB1-ZTERM,

TOGRU LIKE LFB1-TOGRU,

  • XVERR LIKE LFB1-XVERR,

  • URLID LIKE LFB1-URLID,

  • reprf like LFB1-reprf,

ZWELS LIKE LFB1-ZWELS,

ZAHLS LIKE LFB1-ZAHLS,

XPORE LIKE LFB1-XPORE,

XVERR LIKE LFB1-XVERR,

HBKID LIKE LFB1-HBKID,

ZGRUP LIKE LFB1-ZGRUP,

KVERM LIKE LFB1-KVERM,

busab LIKE LFB1-busab,

BUKRS LIKE LFB1-BUKRS,

END OF tlfa1.

data: pol(2) type n, cnt1 type i, cnt2 type i.

data: kostl1(10) type n.

DATA: BEGIN OF ilfa1 OCCURS 100,

lifnr LIKE lfa1-lifnr,

bukrs LIKE LFB1-bukrs,

END OF ilfa1.

DATA: BEGIN OF tab OCCURS 500,

text(500),

END OF tab.

DATA: BEGIN OF bdcdata OCCURS 500.

INCLUDE STRUCTURE bdcdata.

DATA: END OF bdcdata.

data: plus(2), minus(2).

type-pools: slis.

constants: con_true type char1 value 'X',

con_event_05 type lvc_fname value 'BEFORE_LINE_OUTPUT'.

data: gs_test type g_ty_s_test.

data: layout type slis_layout_alv,

s_fieldcat type slis_fieldcat_alv,

it_fieldcat type slis_t_fieldcat_alv,

s_event type slis_alv_event,

it_event type slis_t_event,

s_sort type slis_sortinfo_alv,

it_sort type slis_t_sortinfo_alv,

keyinfo type slis_keyinfo_alv,

s_lineinfo type slis_lineinfo,

printinfo type slis_print_alv,

xlfa1 TYPE tlfa1 OCCURS 100 WITH HEADER LINE,

TABPOOL LIKE TEXTPOOL OCCURS 50 WITH HEADER LINE,

workdays type p,

g_repid like sy-repid.

data: hodnota1 LIKE ANLC-KANSW.

data: hodnota2 LIKE ANLC-KANSW.

*----

-


  • Ranges *

*----

-


*----

-


  • Field Groups *

*----

-


*----

-


  • Field Symbols *

*----

-


*----

-


  • Parameters and select options *

*----

-


PARAMETERS:

WERKS1 LIKE marc-werks DEFAULT 'Z621',

WERKS2 LIKE LFB1-bukrs DEFAULT 'Z605',

vkorg1 LIKE knvv-vkorg DEFAULT 'Z004',

vkorg2 LIKE knvv-vkorg DEFAULT 'Z001',

ekorg(4) DEFAULT 'CE01'.

  • MAPA LIKE APQI-GROUPID DEFAULT 'importdod'.

  • kostl LIKE anlz-kostl DEFAULT '0000011101'.

select-options:

material for marc-matnr.

parameters:

test as checkbox.

*----

-


  • Define classes *

*----

-


  • CLASS XXX DEFINITION.

*----


*

  • EVENTS *

*----


*

*----

-


  • INITIALIZATION

*----

-


INITIALIZATION.

  • ======================================================================

  • Macros

  • ======================================================================

define addfc.

s_fieldcat-fieldname = &1.

s_fieldcat-ref_fieldname = &2.

s_fieldcat-ref_tabname = &3.

s_fieldcat-key = &4.

s_fieldcat-icon = &6.

s_fieldcat-reptext_ddic = &7.

s_fieldcat-seltext_l = &7.

s_fieldcat-seltext_m = &7.

s_fieldcat-seltext_s = &7.

s_fieldcat-do_sum = &8.

s_fieldcat-no_out = &5.

append s_fieldcat to it_fieldcat.

end-of-definition.

*----

-


  • START-OF-SELECTION

*----

-


START-OF-SELECTION.

*PERFORM upload_from_disk USING sub.

clear: cnt1, cnt2.

select * from marc

where

werks eq werks1

and matnr in material.

CLEAR: gt_mara_ueb,gt_marc_ueb, gt_mard_ueb, gt_mbew_ueb, gt_mvke_ueb.

REFRESH: gt_mara_ueb,gt_marc_ueb, gt_mard_ueb, gt_mbew_ueb, gt_mvke_ueb.

MOVE-CORRESPONDING marc TO gt_marc_ueb.

select single * from marc

where matnr eq marc-matnr

and werks eq werks2.

check sy-subrc ne 0.

gt_marc_ueb-werks = werks2.

if gt_marc_ueb-prctr(1) eq 'Z'.

gt_marc_ueb-prctr(4) = werks2.

endif.

append gt_marc_ueb.

SELECT SINGLE * FROM mara WHERE matnr = gt_marc_ueb-matnr.

IF sy-subrc = 0.

MOVE-CORRESPONDING mara TO gt_mara_ueb.

gt_mara_ueb-tcode = 'MM01'.

append gt_mara_ueb.

ENDIF.

select single * from mard

where matnr eq gt_marc_ueb-matnr

and werks eq werks1.

MOVE-CORRESPONDING mard TO gt_mard_ueb.

select single * from mard

where matnr eq gt_marc_ueb-matnr

and werks eq werks2.

if sy-subrc ne 0.

gt_mard_ueb-werks = werks2.

append gt_mard_ueb.

endif.

select single * from mbew

where matnr eq gt_marc_ueb-matnr

and bwkey eq werks1.

MOVE-CORRESPONDING mbew TO gt_mbew_ueb.

select single * from mbew

where matnr eq gt_marc_ueb-matnr

and bwkey eq werks2.

if sy-subrc ne 0.

gt_mbew_ueb-bwkey = werks2.

append gt_mbew_ueb.

endif.

select single * from mvke

where matnr eq gt_marc_ueb-matnr

and vkorg eq vkorg1.

MOVE-CORRESPONDING mvke TO gt_mvke_ueb.

select single * from mvke

where matnr eq gt_marc_ueb-matnr

and vkorg eq vkorg2.

if sy-subrc ne 0.

gt_mvke_ueb-vkorg = vkorg2.

append gt_mvke_ueb.

endif.

*write:/ gt_marc_ueb-matnr, gt_marc_ueb-werks, gt_mvke_ueb-vkorg.

if test ne space.

write:/ gt_marc_ueb-matnr, gt_marc_ueb-werks, gt_mvke_ueb-vkorg.

else.

CALL FUNCTION 'MATERIAL_MAINTAIN_DARK'

EXPORTING

  • FLAG_MUSS_PRUEFEN = 'X'

  • SPERRMODUS = 'E'

max_errors = 0

p_kz_no_warn = 'X'

kz_prf = ''

  • KZ_VERW = 'X'

  • KZ_AEND = 'X'

  • KZ_DISPO = 'X'

kz_test = TEST

  • NO_DATABASE_UPDATE = ' '

  • CALL_MODE = ' '

  • CALL_MODE2 = ' '

user = sy-uname

  • SUPPRESS_ARRAY_READ = ' '

  • FLG_MASS = ' '

IMPORTING

matnr_last = gt_marc_ueb-matnr

  • number_errors_transaction = g_trnerr

TABLES

amara_ueb = gt_mara_ueb

  • AMAKT_UEB =

amarc_ueb = gt_marc_ueb

AMARD_UEB = gt_mard_ueb

  • AMFHM_UEB =

  • AMARM_UEB =

  • AMEA1_UEB =

ambew_ueb = gt_mbew_ueb

  • ASTEU_UEB =

  • ASTMM_UEB =

  • AMLGN_UEB =

  • AMLGT_UEB =

  • AMPGD_UEB =

  • AMPOP_UEB =

  • AMVEG_UEB =

  • AMVEU_UEB =

amvke_ueb = gt_mvke_ueb

  • ALTX1_UEB =

  • AMPRW_UEB =

  • AE1CUCFG_UEB =

  • AE1CUINS_UEB =

  • AE1CUVAL_UEB =

  • AE1CUCOM_UEB =

  • amfieldres = gt_fieldres

amerrdat = gt_errs

EXCEPTIONS

kstatus_empty = 1

tkstatus_empty = 2

t130m_error = 3

internal_error = 4

too_many_errors = 5

update_error = 6

OTHERS = 7

.

loop at gt_errs.

if gt_marc_ueb-matnr ne space.

format color col_group.

write:/ gt_marc_ueb-matnr, gt_marc_ueb-werks, gt_mvke_ueb-vkorg.

else.

format color col_negative.

write:/ gt_marc_ueb-matnr,gt_errs.

endif.

endloop.

  • if sy-subrc eq 0.

if gt_marc_ueb-matnr ne space.

cnt1 = cnt1 + 1.

else.

cnt2 = cnt2 + 1.

endif.

endif.

endselect.

*perform prepare_alv_grid_data.

uline.

format color col_total.

  • write: / poc, ilfa1-anlkl, ilfa1-txt50, ilfa1-aktiv, ilfa1-afasl01,

*skansw, slfafa.

if test eq space.

format color col_group.

write: / 'Poèet správnych:', cnt1.

format color col_negative.

write: / 'Poèet chybných:', cnt2.

else.

write: / 'Testovací re¾im'.

endif.

  • ======================================================================

  • Top of Page

  • ======================================================================

form f01_alv_event_top_of_page.

  • write:/ 'Business pipeline'(020).

  • write: 40 'Pracovné dni:'(021), workdays.

  • perforM VYPIS_SEL_OPT.

endform.

form f01_alv_event_END_OF_LIST.

  • perform prepare_alv_grid_data1.

endform.

*----


*

  • FORM DYNPRO *

*----


*

  • ........ *

*----


*

  • --> PROGRAM *

  • --> DYNPRO *

*----


*

FORM dynpro USING program dynpro.

CLEAR bdcdata.

bdcdata-program = program.

bdcdata-dynpro = dynpro.

bdcdata-dynbegin = 'X'.

APPEND bdcdata.

ENDFORM.

*----


*

  • FORM PRG *

*----


*

  • ........ *

*----


*

  • --> FNAM *

  • --> FVAL *

*----


*

FORM prg USING fnam fval.

CLEAR bdcdata.

bdcdata-fnam = fnam.

bdcdata-fval = fval.

APPEND bdcdata.

ENDFORM.

FORM prg1 USING fnam fval.

if fval ne space.

CLEAR bdcdata.

bdcdata-fnam = fnam.

bdcdata-fval = fval.

APPEND bdcdata.

endif.

ENDFORM.

FORM prg2 USING fnam fval.

data: hodn like anlc-kansw.

perform hodnota using fval hodn.

if hodn ne 0.

CLEAR bdcdata.

bdcdata-fnam = fnam.

bdcdata-fval = fval.

APPEND bdcdata.

endif.

ENDFORM.

FORM prg3 USING fnam fval.

data: hodn like anlc-kansw.

perform hodnota using fval hodn.

if hodn eq 0.

CLEAR bdcdata.

bdcdata-fnam = fnam.

bdcdata-fval = '0'.

APPEND bdcdata.

endif.

ENDFORM.

FORM prg4 USING fnam fval.

data: hodn like anlc-kansw.

data: txt(30).

perform hodnota using fval hodn.

if hodn ne 0.

if hodn lt 0.

concatenate fnam '(' minus ')' into txt.

else.

concatenate fnam '(' plus ')' into txt.

endif.

CLEAR bdcdata.

bdcdata-fnam = txt.

bdcdata-fval = fval.

APPEND bdcdata.

else.

CLEAR bdcdata.

bdcdata-fnam = txt.

bdcdata-fval = fval.

APPEND bdcdata.

endif.

ENDFORM.

FORM prg5 USING fnam pol.

data: txt(30).

concatenate fnam '(' pol ')' into txt.

CLEAR bdcdata.

bdcdata-fnam = txt.

bdcdata-fval = '0'.

APPEND bdcdata.

ENDFORM.

FORM prg6 USING fnam pol fval.

data: txt(30).

concatenate fnam '(' pol ')' into txt.

CLEAR bdcdata.

bdcdata-fnam = txt.

bdcdata-fval = fval.

APPEND bdcdata.

ENDFORM.

FORM prg7 USING fnam fval pol.

data: txt(30).

concatenate fval '(' pol ')' into txt.

CLEAR bdcdata.

bdcdata-fnam = fnam.

bdcdata-fval = txt.

APPEND bdcdata.

ENDFORM.

  • --> FILENAME *

*----


*

FORM upload_from_disk USING filename.

DATA: name(80).

REFRESH: tab.

CALL FUNCTION 'WS_UPLOAD'

EXPORTING

filename = filename

filetype = 'ASC'

TABLES

data_tab = tab

EXCEPTIONS

file_open_error = 1

file_read_error = 2.

name = filename.

CASE sy-subrc.

WHEN 1.

  • MESSAGE e704 WITH name3 name0(2).

WHEN 2.

  • MESSAGE e705 WITH name3 name0(2).

WHEN OTHERS.

ENDCASE.

ENDFORM.

FORM WRITE_BTR USING P_BTR P_EXCEL.

if p_btr eq 0. clear P_EXCEL. exit. endif.

WRITE P_BTR TO P_EXCEL.

TRANSLATE P_EXCEL USING '. '.

  • TRANSLATE P_EXCEL USING '.,'.

CONDENSE P_EXCEL NO-GAPS.

SHIFT P_EXCEL RIGHT CIRCULAR.

ENDFORM. " WRITE_BTR

form hodnota using hodntext hodn.

data: text(18).

text = hodntext.

  • replace '-' with ' ' into text.

replace ',' with '.' into text.

condense text no-gaps.

hodn = text.

endform.

*& Form prepare_alv_grid_data

*&----


*

  • text

*----


*

  • --> p1 text

  • <-- p2 text

*----


*

form prepare_alv_grid_data.

clear: s_fieldcat,

keyinfo,

s_event,

layout,

s_sort.

refresh: it_fieldcat,

it_sort,

it_event.

s_fieldcat-tabname = 'ilfa1'.

Data: txt(100).

addfc:

  • POLE, REF_TAB, KEY, NO-OUT, ICON, TEXT, DO-SUM

'LIFNR' 'LIFNR' 'LFB1' '' '' '' 'Dodávateµ'(001) '',

'BUKRS' 'BUKRS' 'LFB1' '' '' '' 'Úèt. okruh'(001) ''.

  • s_sort-spos = 1.

  • s_sort-fieldname = 'BEZEI'.

  • s_sort-tabname = 'IT_SUMM'.

  • s_sort-up = 'X'.

  • s_sort-subtot = 'X'.

  • append s_sort to it_sort.

layout-zebra = 'X'.

layout-totals_text = 'Súetový riadok'.

layout-NUMC_SUM = 'X'.

layout-colwidth_optimize = 'X'.

layout-window_titlebar =

'Inv. majetok'(020).

clear s_event.

s_event-form = 'TOP_OF_PAGE'.

s_event-name = slis_ev_top_of_page.

append s_event to gs_test-events.

s_event-form = 'END_OF_LIST'.

s_event-name = SLIS_EV_END_OF_LIST.

append s_event to gs_test-events.

perform f01_alv_set_events changing it_event.

g_repid = sy-repid.

printinfo-no_print_selinfos = 'X'.

printinfo-no_print_listinfos = 'X'.

  • call function 'REUSE_ALV_LIST_DISPLAY'

call function 'REUSE_ALV_GRID_DISPLAY'

exporting

i_callback_program = g_repid

I_GRID_TITLE = 'Inv. majetok ASO'(020)

is_layout = layout

it_fieldcat = it_fieldcat

  • i_default = space "'X'

i_save = 'A'

it_sort = it_sort

  • it_events = it_event

  • i_screen_start_line = 0

  • is_print = printinfo

I_STRUCTURE_NAME = 'ilfa1'

tables

t_outtab = ilfa1

exceptions

program_error = 1

others = 2.

endform. " prepare_alv_grid_data

form prepare_alv_grid_data1.

clear: s_fieldcat,

keyinfo,

s_event,

layout,

s_sort.

refresh: it_fieldcat,

it_sort,

it_event.

s_fieldcat-tabname = 'ilfa1'.

Data: txt(100).

addfc:

  • POLE, REF_TAB, KEY, NO-OUT, ICON, TEXT, DO-SUM

'ANLKL' 'ANLKL' 'ANLA' '' '' '' 'Trieda IM'(001) '',

'ANLN1' 'ANLN1' 'ANLA' '' '' '' 'Hlavné èíslo IM'(002) '',

'TXT50' 'TXT50' 'ANLA' '' '' '' 'Oznaèenie'(015) '',

  • 'INVNR' 'INVNR' 'ANLA' '' '' '' 'Inventárne èíslo'(003) '',

'KOSTL' 'KOSTL' 'ANLA' '' '' '' 'Náklad. stredisko'(004) '',

'LIFNR' 'LIFNR' 'ANLA' '' '' '' 'Dodavatel'(004) ''.

  • s_sort-spos = 1.

  • s_sort-fieldname = 'BEZEI'.

  • s_sort-tabname = 'IT_SUMM'.

  • s_sort-up = 'X'.

  • s_sort-subtot = 'X'.

  • append s_sort to it_sort.

layout-zebra = 'X'.

layout-totals_text = 'Súetový riadok'.

layout-NUMC_SUM = 'X'.

layout-colwidth_optimize = 'X'.

layout-window_titlebar =

'Inv. majetok'(020).

clear s_event.

s_event-form = 'TOP_OF_PAGE'.

s_event-name = slis_ev_top_of_page.

append s_event to gs_test-events.

s_event-form = 'END_OF_LIST'.

s_event-name = SLIS_EV_END_OF_LIST.

append s_event to gs_test-events.

perform f01_alv_set_events changing it_event.

g_repid = sy-repid.

printinfo-no_print_selinfos = 'X'.

printinfo-no_print_listinfos = 'X'.

  • call function 'REUSE_ALV_LIST_DISPLAY'

call function 'REUSE_ALV_GRID_DISPLAY'

exporting

i_callback_program = g_repid

I_GRID_TITLE = 'Inv. majetok - odavatele'(020)

is_layout = layout

it_fieldcat = it_fieldcat

  • i_default = space "'X'

i_save = 'A'

it_sort = it_sort

  • it_events = it_event

  • i_screen_start_line = 0

  • is_print = printinfo

I_STRUCTURE_NAME = 'ilfa1'

tables

t_outtab = ilfa1

exceptions

program_error = 1

others = 2.

endform. " prepare_alv_grid_data

form f01_alv_event_before_line_outp

using rs_lineinfo type slis_lineinfo. "#EC *

data: l_event type lvc_fname. "#EC NEEDED

  • it_summ-hl_fu = it_summ-volum / it_summ-cntf.

  • if pa_brand ne space.

  • perform compute_averageb using it_sumb.

  • if it_sumb-volum ne 0.

  • it_sumb-sk_hl = it_sumb-netwr / it_sumb-volum.

*

  • else.

  • it_sumb-sk_hl = 0.

  • endif.

  • else.

  • perform compute_average using it_summ.

  • endif.

if rs_lineinfo-endsum ne space.

  • perform prepare_alv_grid_data1.

endif.

  • if rs_lineinfo-tabindex eq 0.

  • if rs_lineinfo-sumindex ne 0.

  • uline.

  • it_summ-tonaz = wa_summ-bezei.

  • endif.

  • else.

  • wa_summ = it_summ.

  • endif.

  • if s_lineinfo-tabindex eq 0.

  • if s_lineinfo-sumindex ne 0.

  • uline.

  • endif.

  • endif.

  • s_lineinfo = rs_lineinfo.

if gs_test-info_popup_once eq con_true.

read table gs_test-events_info_popup into l_event

with key table_line = 'BEFORE_LINE_OUTPUT'.

if sy-subrc ne 0.

insert 'BEFORE_LINE_OUTPUT' into gs_test-events_info_popup

index 1.

message i000(0k) with text-t05.

endif.

elseif gs_test-no_info_popup eq space.

message i000(0k) with text-t05.

endif.

endform. " F01_ALV_EVENT_BEFORE_LINE_OUTP

form f01_alv_set_events changing ct_events type slis_t_event.

field-symbols: -form.

endif.

endloop.

endif.

endform. " f01_alv_set_events

Reward points..