2007 Feb 16 9:29 AM
Hi All,
I am using submit and return to call a transaction by passing select-options. It is calling the transaction with the passed values. My problem is if i am using back button (F3) then it is going to selection screen of the called transaction. I want to go back to the last screen not to selection screen. Please help me.
Thanks & Regards,
praveena.
2007 Feb 16 9:32 AM
Hi
Can you attach the code so that we can know where control is going wrongly.
regards,
kumar
2007 Feb 16 9:35 AM
as per my knowledge submit and return will come back to the cursor position from where it has been triggered....Just paste the code and we can let u know...
2007 Feb 16 10:01 AM
Hi All,
I attached my code but its very lengthy. In PERFORM listausgabe_bestand.
i am calling the transactionand that perform is in User-command. Please help me.
Thanking you,
praveena.
************************************************************************
REPORT RM07MBST (Transaktionscode MB5L) *
************************************************************************
Bestandswertliste: Saldendarstellung *
************************************************************************
November 2005 MS "n897018
When you are selecting previous period/year and then go "n897018
from MB5L to MMBE, a message appears, that says, that "n897018
MMBE shows actual inventory "n897018
May 2005 TW "843776
color in detail view could be switched off to avoid "843776
runtime error "843776
July 2004 MM "n760405
Total valuated stock at sales price for pervious period "n760405
and previous year filled incorretly "n760405
March 2004 MM
field vbeln filled incorretly "n711749
June 2003 MM "n631251
improve handling when G/L account is missing "n631251
Sept 2002 MM "n555246
log function tax auditor "n555246
June 6th, 2002 MM "n525339
MB5L : jump to detail list incorrect when cursor is not "n525339
on a line with a stock account "n525339
no more use of include RM07MSQL "n525339
check entry for valuation area improved "n525339
Feb. 28th 2002 MM "n497391
MB5L : consider valuated subcontractor stocks "n497391
warning M7 375 after selections for material "n497391
extend field definition of sum fields "n497391
no details possible for function sums only "n497391
MB5L : consider special periods "n460469
separate time depending authorization for tax auditor "n486477
*----
*
process material short text as a hidden field "n407181
*----
*
INCLUDE: rm07mbsd, " reportspezifische Datendefinitionen
mm07mabc, " Variablen zum Zeichensatz
rm07musr, " Tastenbelegungen und Transkationen
rm07mend. " Anforderungsbild und Enderoutine
Start of addition by os0800
TABLES: s031,
mkpf.
DATA: g_invgrp(3) TYPE c, " Inventory group
g_singrp(6) TYPE c, " Sub Inventory group
g_dingrp(9) TYPE c. " Detail Inventory Group
DATA: v_year TYPE t009b-bdatj, " Posting date YYYY
v_year1 TYPE t009b-bdatj, " Posting date YYYY
v_period TYPE t009b-poper, " Posting period
v_period1 TYPE t009b-poper, " Posting period
v_first_date TYPE sy-datum,
v_last_date TYPE sy-datum,
v_first_date1 TYPE sy-datum,
v_last_date1 TYPE sy-datum.
End of addition by os0800
INCLUDE: zrm07mbsp1, " reporteigene Parameter "os0800
rm07alvi. " ALV functions
improve handling when G/L account is missing "n631251
define working table g_t_err_acc for the errors "n631251
TYPES: BEGIN OF stype_err_acc, "n631251
bukrs LIKE t001-bukrs, "n631251
konts LIKE t030-konts, "n631251
matnr LIKE mbew-matnr, "n631251
bwkey LIKE mbew-bwkey, "n631251
bwtar LIKE mbew-bwtar, "n631251
flag(01) TYPE c, "n631251
END OF stype_err_acc, "n631251
"n631251
stab_err_acc TYPE STANDARD TABLE OF "n631251
stype_err_acc "n631251
WITH DEFAULT KEY. "n631251
"n631251
DATA : g_s_err_acc TYPE stype_err_acc, "n631251
g_t_err_acc TYPE stab_err_acc. "n631251
separate time depending authorization for tax auditor "n486477
define working areas for time depending authority check "n486477
DATA : g_f_budat LIKE bsim-budat, "n486477
g_f_budat_work LIKE bsim-budat. "n486477
"n486477
TYPES : BEGIN OF stype_bukrs, "n486477
bukrs LIKE t001-bukrs, "n486477
END OF stype_bukrs, "n486477
"n486477
stab_bukrs TYPE STANDARD TABLE OF "n486477
stype_bukrs WITH DEFAULT KEY. "n486477
"n486477
DATA : g_t_bukrs TYPE stab_bukrs, "n486477
g_s_bukrs TYPE stype_bukrs. "n486477
"n486477
TYPES : BEGIN OF stype_t001k, "n486477
bwkey LIKE t001k-bwkey, "n486477
bukrs LIKE t001-bukrs, "n486477
END OF stype_t001k. "n486477
"n486477
DATA : g_s_t001k TYPE stype_t001k, "n486477
g_t_t001k TYPE stype_t001k OCCURS 0. "n486477
"n486477
DATA : g_flag_tpcuser(01) TYPE c, "n486477
1 = carry out the special checks for this user "n486477
g_f_repid TYPE progname. "n486477
HAUPTPROGRAMM *********************************
*----
F4-Hilfe für Reportvariante -
*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR alv_def.
PERFORM alv_f4.
*----
Prüfung der eingegebenen Selektionsparameter, -
*
*----
Berechtigungsprüfung -
*
AT SELECTION-SCREEN.
PERFORM alv_check.
PERFORM eingaben_pruefen.
PERFORM berechtigung_pruefen.
Start of addition by by os0800 ******
to check whether user entered value or not
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'MD1'.
screen-invisible = '1' .
screen-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
End of addition by os0800 *****
check whether the function module is available "n555246
CALL FUNCTION 'FUNCTION_EXISTS' "n555246
EXPORTING "n555246
funcname = 'FI_CHECK_DATE' "n555246
EXCEPTIONS "n555246
function_not_exist = 1 "n555246
OTHERS = 2. "n555246
"n555246
IF sy-subrc IS INITIAL. "n555246
separate time depending authorization for tax auditor "n486477
check, whether the user is a tax auditor "n486477
MOVE sy-repid TO g_f_repid. "n486477
"n486477
CALL FUNCTION 'FI_CHECK_DATE' "#EC EXISTS "n555246
EXPORTING "n486477
i_bukrs = space "n486477
i_user = sy-uname "n486477
i_program = g_f_repid "n486477
IMPORTING "n486477
e_return = g_flag_tpcuser "n486477
EXCEPTIONS "n486477
no_authority_prog = 1 "n486477
no_authority_date = 2 "n486477
wrong_parameter = 3 "n486477
OTHERS = 4. "n486477
"n486477
CASE sy-subrc. "n486477
WHEN 0. "n486477
what kind of user : g_flag_tpcuser = 1 tax auditor "n486477
g_flag_tpcuser = 4 other other "n486477
IF g_flag_tpcuser = '1'. "n486477
clear header line of select-option table BUKRS "n486477
CLEAR bukrs. "n486477
"n486477
second step : user is an auditor -> check periods "n486477
PERFORM tpc_check_period_for_all_cc."n486477
ENDIF. "n486477
"n486477
WHEN 1. "n486477
user is tax auditor, but program is not allowed "n486477
MESSAGE e001(ca_check_date) WITH g_f_repid. "n486477
WHEN OTHERS. "n486477
other error "n486477
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno "n486477
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. "n486477
ENDCASE. "n486477
ENDIF. "n555246
*----
Initialisierung -
*
INITIALIZATION.
PERFORM initialisierung.
*----
Datenselektion -
*
START-OF-SELECTION.
PERFORM get_dates. "os0800.
PERFORM organisation.
PERFORM datenselektion.
*----
Datenausgabe----
*
END-OF-SELECTION.
IF summen IS INITIAL.
IF NOT pruef IS INITIAL.
PERFORM erweiterte_pruefung.
ENDIF.
PERFORM selektion_bearbeiten.
DESCRIBE TABLE bestand LINES index_z.
IF NOT index_z IS INITIAL.
process log function if the user is a tax auditor "n555246
and the database selection was successful "n555246
IF g_flag_tpcuser = '1'. "n555246
PERFORM tpc_write_log. "n555246
ENDIF. "n555246
IF alv_colourize_fields = 'X'. "843776
PERFORM selektion_ergaenzen.
ELSE. "843776
LOOP AT bestand. "843776
READ TABLE organ WITH KEY bwkey = bestand-bwkey. "843776
MOVE organ-bukrs TO bestand-bukrs. "843776
MOVE organ-waers TO bestand-waers. "843776
MODIFY bestand TRANSPORTING bukrs waers. "843776
ENDLOOP. "843776
ENDIF. "843776
PERFORM feldkatalog_bestand USING fieldcat_b[].
IF NOT pruef IS INITIAL.
PERFORM feldkatalog_pruefung USING fieldcat_p[].
ENDIF.
PERFORM summen_bilden.
PERFORM feldkatalog_saldo USING fieldcat_s[].
PERFORM listausgabe_saldo.
ELSE.
IF NOT negativ IS INITIAL.
MESSAGE s827.
Es sind keine negativen Bestände vorhanden
PERFORM anforderungsbild.
ELSE.
MESSAGE s843.
Zu den vorgegebenen Daten ist kein Bestand vorhanden
PERFORM anforderungsbild.
ENDIF.
ENDIF.
ELSEIF NOT summen IS INITIAL.
LOOP AT xmbew.
IF NOT keinzel IS INITIAL OR xmbew-bwtty IS INITIAL.
CHECK xmbew-bwtar IS INITIAL.
ELSEIF keinzel IS INITIAL AND NOT xmbew-bwtty IS INITIAL.
CHECK NOT xmbew-bwtar IS INITIAL.
ENDIF.
ON CHANGE OF xmbew-bklas OR xmbew-bwkey.
rc = 0.
PERFORM sachkonto.
ENDON.
CHECK rc = 0.
MOVE-CORRESPONDING xmbew TO bestand.
MOVE xkonto TO bestand-konts.
READ TABLE organ WITH KEY mandt = sy-mandt
bwkey = xmbew-bwkey BINARY SEARCH.
MOVE organ-bukrs TO bestand-bukrs.
MOVE organ-butxt TO bestand-butxt.
MOVE organ-waers TO bestand-waers.
READ TABLE it030 WITH KEY konts = bestand-konts.
MOVE it030-txt50 TO bestand-txt50.
APPEND bestand.
ENDLOOP.
DESCRIBE TABLE bestand LINES index_z.
IF NOT index_z IS INITIAL.
process log function if the user is a tax auditor "n555246
and the database selection was successful "n555246
IF g_flag_tpcuser = '1'. "n555246
PERFORM tpc_write_log. "n555246
ENDIF. "n555246
PERFORM summen_bilden.
PERFORM feldkatalog_saldo USING fieldcat_s[].
PERFORM listausgabe_saldo.
ELSE.
MESSAGE s843.
Zu den vorgegebenen Daten ist kein Bestand vorhanden
PERFORM anforderungsbild.
ENDIF.
ENDIF.
Ende HAUPTPROGRAMM *****************************
FORMROUTINEN ********************************
*----
*
FORM SACHKONTO *
*----
*
Ermitteln Sachkonto und Sachkontentext *
*----
*
FORM sachkonto.
CLEAR: organ, it030.
READ TABLE organ WITH KEY bwkey = xmbew-bwkey.
x030_key-mandt = sy-mandt.
x030_key-ktopl = organ-ktopl.
x030_key-ktosl = 'BSX'.
x030_key-bwmod = organ-bwmod.
x030_key-bklas = xmbew-bklas. "note 358829
IF organ-xbkla IS INITIAL. "note 358829
CLEAR x030_key-bklas. "note 358829
ENDIF. "note 358829
READ TABLE it030 WITH KEY x030_key.
xkonto = it030-konts.
IF NOT sy-subrc IS INITIAL.
rc = 4.
ENDIF.
ENDFORM. "sachkonto
*----
*
FORM PERIODE *
*----
*
Bestimmung der Buchungsperiode *
*----
*
FORM periode.
CLEAR bermon. REFRESH bermon.
IF NOT aksaldo IS INITIAL.
MOVE organ-vmmon TO xmonat.
MOVE organ-vmmon TO xbuper(2).
MOVE '/' TO xbuper+2(1).
MOVE organ-vmgja TO xbuper+3(4).
MOVE 'I' TO bermon-sign.
MOVE 'BT' TO bermon-option.
MOVE '01' TO bermon-low.
MOVE '16' TO bermon-high.
APPEND bermon.
ELSEIF NOT vmsaldo IS INITIAL.
MOVE organ-vmmon TO xmonat. " modified by os0800
MOVE organ-vmmon TO xbuper(2). " modified by os0800
MOVE '/' TO xbuper+2(1).
MOVE organ-vmgja TO xbuper+3(4).
MOVE 'I' TO bermon-sign.
MOVE 'BT' TO bermon-option.
MOVE '01' TO bermon-low.
if the previous period is in the previous year "n460469
consider the FI special periods 13 - 16, too "n460469
IF organ-vmmon = organ-vjmon AND "n460469
organ-vmgja = organ-vjgja. "n460469
MOVE '16' TO bermon-high. "n460469
ELSE. "n460469
MOVE organ-vmmon TO bermon-high. "n460469
ENDIF. "n460469
APPEND bermon.
ELSEIF NOT vjsaldo IS INITIAL.
MOVE organ-vjmon TO xbuper(2).
MOVE '/' TO xbuper+2(1).
MOVE organ-vjgja TO xbuper+3(4).
MOVE 'I' TO bermon-sign.
MOVE 'BT' TO bermon-option.
MOVE '01' TO bermon-low.
consider the FI special periods 13 - 16, too "n460469
bermon-high = '16'. "n460469
APPEND bermon.
ENDIF.
ENDFORM. " PERIODE
*&----
*
*& Form EINGABEN_PRUEFEN
*&----
*
text
*----
*
FORM eingaben_pruefen.
this check delivered wrong results when "n525339
valuation level is company code "n525339
IF NOT bwkey[] IS INITIAL. "n525339
SELECT * FROM t001w WHERE bwkey IN bwkey. "n525339
EXIT. "n525339
ENDSELECT. "n525339
"n525339
IF NOT sy-subrc IS INITIAL.
MESSAGE e884.
Bewertungskreis nicht vorhanden
ENDIF.
ENDIF.
IF NOT bwtar-low IS INITIAL OR NOT bwtar-high IS INITIAL.
SELECT SINGLE * FROM t149d WHERE bwtar IN bwtar.
IF NOT sy-subrc IS INITIAL.
error fixed ( reported by the extended syntax check ) "n486477
MESSAGE e885 WITH bwtar-low. "n486477
Bewertungsart & nicht vorhanden
ENDIF.
ENDIF.
IF NOT pruef IS INITIAL AND NOT bwtar IS INITIAL.
MESSAGE w288.
Bewertungsart wird zurückgesetzt.
CLEAR bwtar.
REFRESH bwtar. "357162
ENDIF.
send warning M7 375 after selections for material, etc. "n497391
REFRESH : g_t_listheader.
CLEAR : g_s_listheader, g_flag_warning_m7375. "n497391
"n497391
IF NOT matnr[] IS INITIAL. "n497391
MOVE x TO g_flag_warning_m7375. "n497391
SET CURSOR FIELD 'MATNR-LOW'. "n497391
"n497391
ELSEIF NOT bwkey[] IS INITIAL. "n497391
MOVE x TO g_flag_warning_m7375. "n497391
SET CURSOR FIELD 'BWKEY-LOW'. "n497391
"n497391
ELSEIF NOT bwtar[] IS INITIAL. "n497391
MOVE x TO g_flag_warning_m7375. "n497391
SET CURSOR FIELD 'BWTAR-LOW'. "n497391
"n497391
ELSEIF NOT bklas[] IS INITIAL. "n497391
MOVE x TO g_flag_warning_m7375. "n497391
SET CURSOR FIELD 'BKLAS-LOW'. "n497391
"n497391
ELSEIF NOT negativ IS INITIAL. "n497391
MOVE x TO g_flag_warning_m7375. "n497391
SET CURSOR FIELD 'NEGATIV'. "n497391
ENDIF. "n497391
"n497391
IF g_flag_warning_m7375 = x. "n497391
MOVE : h TO g_s_listheader-typ, "n497391
Durch Eingrenzungen kann der Saldenabgleich fehlerhaft... "n497391
Due to material selection, results may be incorrect "n497391
text-101 TO g_s_listheader-info. "n497391
APPEND g_s_listheader TO g_t_listheader. "n497391
"n497391
this warning can be surpressed "n497391
CALL FUNCTION 'MB_CHECK_T160M' "n497391
EXPORTING "n497391
i_msgnr = '375' "n497391
IMPORTING "n497391
rc = g_retcode. "n497391
"n497391
IF g_retcode <> 0. "n497391
Selections for this field will deliver wrong results "n497391
message w375. "n497391"0S0800
ENDIF. "n497391
ENDIF. "n497391
ENDFORM. " EINGABEN_PRUEFEN
*&----
*
*& Form BERECHTIGUNG_PRUEFEN
*&----
*
text
*----
*
FORM berechtigung_pruefen.
AUTHORITY-CHECK OBJECT 'M_MATE_WRK'
ID 'ACTVT' FIELD actvt03
ID 'WERKS' DUMMY.
IF NOT sy-subrc IS INITIAL.
*------ SIE HABEN KEINE BERECHTIGUNG FÜR DIESES WERK
MESSAGE e120 WITH bwkey.
ENDIF.
ENDFORM. " BERECHTIGUNG_PRUEFEN
*&----
*
*& Form INITIALISIERUNG
*&----
*
text
*----
*
FORM initialisierung.
PERFORM alv_init.
titel = '100'.
SET TITLEBAR titel.
ENDFORM. " INITIALISIERUNG
*&----
*
*& Form DATENSELEKTION
*&----
*
Die Materialbewertungssätze werden gelesen. *
*----
*
FORM datenselektion.
extend field definition of sum fields "n497391
DATA: sum(10) TYPE p DECIMALS 2. "n497391
IF NOT skont IS INITIAL.
IF NOT aksaldo IS INITIAL.
IF NOT summen IS INITIAL.
LOOP AT organ.
CLEAR: f_bwkey, f_bklas, f_bwtty, f_bwtar, sum.
SELECT bwkey bklas bwtty bwtar SUM( salk3 ) FROM mbew
INTO (f_bwkey, f_bklas, f_bwtty, f_bwtar, sum)
WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bklas IN ibklas
AND bwtar IN bwtar
AND lfgja = v_year " os0800
AND lfmon = v_period " os0800
AND lfgja BETWEEN v_year AND v_year1 " os0800
AND lfmon BETWEEN v_period AND v_period1 " os0800
GROUP BY bwkey bklas bwtty bwtar.
CHECK NOT sum IS INITIAL.
MOVE f_bwkey TO xmbew-bwkey.
MOVE f_bklas TO xmbew-bklas.
MOVE f_bwtty TO xmbew-bwtty.
MOVE f_bwtar TO xmbew-bwtar.
MOVE sum TO xmbew-salk3.
COLLECT xmbew.
ENDSELECT.
CLEAR: f_bwkey, f_bklas, f_bwtty, f_bwtar, sum.
SELECT bwkey bklas bwtty bwtar SUM( salk3 ) FROM ebew
INTO (f_bwkey, f_bklas, f_bwtty, f_bwtar, sum)
WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bklas IN ibklas
AND bwtar IN bwtar
GROUP BY bwkey bklas bwtty bwtar.
CHECK NOT sum IS INITIAL.
MOVE f_bwkey TO xmbew-bwkey.
MOVE f_bklas TO xmbew-bklas.
MOVE f_bwtty TO xmbew-bwtty.
MOVE f_bwtar TO xmbew-bwtar.
MOVE sum TO xmbew-salk3.
COLLECT xmbew.
ENDSELECT.
CLEAR: f_bwkey, f_bklas, f_bwtty, f_bwtar, sum.
SELECT bwkey bklas bwtty bwtar SUM( salk3 ) FROM qbew
INTO (f_bwkey, f_bklas, f_bwtty, f_bwtar, sum)
WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bklas IN ibklas
AND bwtar IN bwtar
GROUP BY bwkey bklas bwtty bwtar.
CHECK NOT sum IS INITIAL.
MOVE f_bwkey TO xmbew-bwkey.
MOVE f_bklas TO xmbew-bklas.
MOVE f_bwtty TO xmbew-bwtty.
MOVE f_bwtar TO xmbew-bwtar.
MOVE sum TO xmbew-salk3.
COLLECT xmbew.
ENDSELECT.
consider valuated subcontractor stocks from OBEW "n497391
CLEAR: f_bwkey, f_bklas, f_bwtty, f_bwtar, sum. "n497391
SELECT bwkey bklas bwtty bwtar SUM( salk3 ) "n497391
FROM obew "n497391
INTO (f_bwkey, f_bklas, f_bwtty, f_bwtar, sum) "n497391
WHERE bwkey EQ organ-bwkey "n497391
AND matnr IN matnr "n497391
AND bklas IN ibklas "n497391
AND bwtar IN bwtar "n497391
GROUP BY bwkey bklas bwtty bwtar. "n497391
CHECK NOT sum IS INITIAL. "n497391
MOVE f_bwkey TO xmbew-bwkey. "n497391
MOVE f_bklas TO xmbew-bklas. "n497391
MOVE f_bwtty TO xmbew-bwtty. "n497391
MOVE f_bwtar TO xmbew-bwtar. "n497391
MOVE sum TO xmbew-salk3. "n497391
COLLECT xmbew. "n497391
ENDSELECT. "n497391
ENDLOOP.
ELSEIF summen IS INITIAL.
CLEAR xmbew. "388498
SELECT mandt matnr bwkey bwtar lvorm lbkum salk3
vprsv verpr stprs peinh bklas salkv lfgja lfmon
bwtty pstat vksal eklas qklas
FROM mbew INTO CORRESPONDING FIELDS OF xmbew
FOR ALL ENTRIES IN organ WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bklas IN ibklas
AND bwtar IN bwtar
AND lfgja = v_year " os0800
AND lfmon = v_period " os0800
AND lfgja BETWEEN v_year AND v_year1 " os0800
AND lfmon BETWEEN v_period AND v_period1. " os0800
APPEND xmbew.
ENDSELECT.
CLEAR xmbew. "388498
SELECT mandt matnr bwkey bwtar lbkum salk3
vprsv verpr stprs peinh bklas salkv lfgja lfmon
bwtty vksal sobkz vbeln posnr
FROM ebew INTO CORRESPONDING FIELDS OF xmbew
FOR ALL ENTRIES IN organ WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bklas IN ibklas
AND bwtar IN bwtar
AND lfgja = v_year " os0800
AND lfmon = v_period " os0800
AND lfgja BETWEEN v_year AND v_year1 " os0800
AND lfmon BETWEEN v_period AND v_period1. " os0800
xmbew-no_sum = 'X'.
APPEND xmbew.
ENDSELECT.
CLEAR xmbew. "388498
SELECT mandt matnr bwkey bwtar lbkum salk3
vprsv verpr stprs peinh bklas salkv lfgja lfmon
bwtty vksal sobkz pspnr
FROM qbew INTO CORRESPONDING FIELDS OF xmbew
FOR ALL ENTRIES IN organ WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bklas IN ibklas
AND bwtar IN bwtar
AND lfgja = v_year " os0800
AND lfmon = v_period " os0800
AND lfgja BETWEEN v_year AND v_year1 " os0800
AND lfmon BETWEEN v_period AND v_period1. " os0800
xmbew-no_sum = 'X'.
APPEND xmbew.
ENDSELECT.
consider valuated subcontractor stocks from OBEW "n497391
CLEAR xmbew. "n497391
SELECT mandt matnr bwkey bwtar lbkum salk3 "n497391
vprsv verpr stprs peinh bklas salkv "n497391
lfgja lfmon bwtty vksal sobkz lifnr "n497391
FROM obew INTO CORRESPONDING FIELDS OF xmbew "n497391
FOR ALL ENTRIES IN organ "n497391
WHERE bwkey EQ organ-bwkey "n497391
AND matnr IN matnr "n497391
AND bklas IN ibklas "n497391
AND bwtar IN bwtar
AND lfgja = v_year " os0800
AND lfmon = v_period " os0800
AND lfgja BETWEEN v_year AND v_year1 " os0800
AND lfmon BETWEEN v_period AND v_period1. " os0800
xmbew-no_sum = 'X'. "n497391
APPEND xmbew. "n497391
ENDSELECT. "n497391
ENDIF.
ELSEIF NOT vmsaldo IS INITIAL.
SELECT * FROM mbew INTO CORRESPONDING FIELDS OF TABLE imbew
FOR ALL ENTRIES IN organ WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bwtar IN bwtar.
CLEAR imbew_ext. REFRESH imbew_ext. "n760405
CALL FUNCTION 'MBEW_EXTEND'
EXPORTING
kzrfb = 'X'
maxtz = ' '
xvper = 'X'
xvjah = ' '
TABLES
mbew_tab = imbew "n760405
mbew_ext_tab = imbew_ext. "n760405
SORT imbew_ext BY matnr bwkey bwtar. "n760405
LOOP AT imbew.
Test der Bewertungsklasse erst aus MBEWH hier möglich,
da in MBEW möglicherweise veraltet.
CHECK imbew-vmbkl IN ibklas. "207501
MOVE-CORRESPONDING imbew TO xmbew.
xmbew-lbkum = imbew-vmkum.
xmbew-salk3 = imbew-vmsal.
xmbew-vprsv = imbew-vmvpr.
xmbew-verpr = imbew-vmver.
xmbew-stprs = imbew-vmstp.
xmbew-peinh = imbew-vmpei.
xmbew-bklas = imbew-vmbkl.
xmbew-salkv = imbew-vmsav.
READ TABLE imbew_ext WITH KEY matnr = imbew-matnr "n760405
bwkey = imbew-bwkey "n760405
bwtar = imbew-bwtar "n760405
BINARY SEARCH. "n760405
IF sy-subrc = 0. "n760405
xmbew-vksal = imbew_ext-vmvks. "n760405
ENDIF. "n760405
APPEND xmbew.
ENDLOOP.
CLEAR imbew. REFRESH imbew. FREE imbew.
CLEAR xmbew. "n711749
SELECT * FROM ebew INTO CORRESPONDING FIELDS OF TABLE iebew
FOR ALL ENTRIES IN organ WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bwtar IN bwtar.
CLEAR iebew_ext. REFRESH iebew_ext. "n760405
CALL FUNCTION 'EBEW_EXTEND'
EXPORTING
kzrfb = 'X'
maxtz = ' '
xvper = 'X'
xvjah = ' '
TABLES
ebew_tab = iebew "n760405
ebew_ext_tab = iebew_ext. "n760405
SORT iebew_ext BY matnr bwkey bwtar sobkz vbeln posnr."n760405
LOOP AT iebew.
CHECK iebew-vmbkl IN ibklas. "207501
MOVE-CORRESPONDING iebew TO xmbew.
xmbew-lbkum = iebew-vmkum.
xmbew-salk3 = iebew-vmsal.
xmbew-vprsv = iebew-vmvpr.
xmbew-verpr = iebew-vmver.
xmbew-stprs = iebew-vmstp.
xmbew-peinh = iebew-vmpei.
xmbew-bklas = iebew-vmbkl.
xmbew-salkv = iebew-vmsav.
xmbew-no_sum = 'X'.
READ TABLE iebew_ext WITH KEY matnr = iebew-matnr "n760405
bwkey = iebew-bwkey "n760405
bwtar = iebew-bwtar "n760405
sobkz = iebew-sobkz "n760405
vbeln = iebew-vbeln "n760405
posnr = iebew-posnr "n760405
BINARY SEARCH. "n760405
IF sy-subrc = 0. "n760405
xmbew-vksal = iebew_ext-vmvks. "n760405
ENDIF. "n760405
APPEND xmbew.
ENDLOOP.
CLEAR iebew. REFRESH iebew. FREE iebew.
CLEAR xmbew. "n711749
SELECT * FROM qbew INTO CORRESPONDING FIELDS OF TABLE iqbew
FOR ALL ENTRIES IN organ WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bwtar IN bwtar.
CLEAR iqbew_ext. REFRESH iqbew_ext. "n760405
CALL FUNCTION 'QBEW_EXTEND'
EXPORTING
kzrfb = 'X'
maxtz = ' '
xvper = 'X'
xvjah = ' '
TABLES
qbew_tab = iqbew "n760405
qbew_ext_tab = iqbew_ext. "n760405
SORT iqbew_ext BY matnr bwkey bwtar sobkz pspnr. "n760405
LOOP AT iqbew.
CHECK iqbew-vmbkl IN ibklas. "207501
MOVE-CORRESPONDING iqbew TO xmbew.
xmbew-lbkum = iqbew-vmkum.
xmbew-salk3 = iqbew-vmsal.
xmbew-vprsv = iqbew-vmvpr.
xmbew-verpr = iqbew-vmver.
xmbew-stprs = iqbew-vmstp.
xmbew-peinh = iqbew-vmpei.
xmbew-bklas = iqbew-vmbkl.
xmbew-salkv = iqbew-vmsav.
xmbew-no_sum = 'X'.
READ TABLE iqbew_ext WITH KEY matnr = iqbew-matnr "n760405
bwkey = iqbew-bwkey "n760405
bwtar = iqbew-bwtar "n760405
sobkz = iqbew-sobkz "n760405
pspnr = iqbew-pspnr "n760405
BINARY SEARCH. "n760405
IF sy-subrc = 0. "n760405
xmbew-vksal = iqbew_ext-vmvks. "n760405
ENDIF. "n760405
APPEND xmbew.
ENDLOOP.
CLEAR iqbew. REFRESH iqbew. FREE iqbew.
CLEAR xmbew. "n711749
consider valuated subcontractor stocks from OBEW "n497391
SELECT * FROM obew "n497391
INTO CORRESPONDING FIELDS OF TABLE iobew "n497391
FOR ALL ENTRIES IN organ "n497391
WHERE bwkey EQ organ-bwkey "n497391
AND matnr IN matnr "n497391
AND bwtar IN bwtar. "n497391
CLEAR iobew_ext. REFRESH iobew_ext. "n760405
CALL FUNCTION 'OBEW_EXTEND' "n497391
EXPORTING "n497391
kzrfb = 'X' "n497391
maxtz = ' ' "n497391
xvper = 'X' "n497391
xvjah = ' ' "n497391
TABLES "n497391
obew_tab = iobew "n760405
obew_ext_tab = iobew_ext. "n760405
SORT iobew_ext BY matnr bwkey bwtar sobkz lifnr. "n760405
LOOP AT iobew. "n497391
CHECK iobew-vmbkl IN ibklas. "n497391
MOVE-CORRESPONDING iobew TO xmbew. "n497391
xmbew-lbkum = iobew-vmkum. "n497391
xmbew-salk3 = iobew-vmsal. "n497391
xmbew-vprsv = iobew-vmvpr. "n497391
xmbew-verpr = iobew-vmver. "n497391
xmbew-stprs = iobew-vmstp. "n497391
xmbew-peinh = iobew-vmpei. "n497391
xmbew-bklas = iobew-vmbkl. "n497391
xmbew-salkv = iobew-vmsav. "n497391
xmbew-no_sum = 'X'. "n497391
READ TABLE iobew_ext WITH KEY matnr = iobew-matnr "n760405
bwkey = iobew-bwkey "n760405
bwtar = iobew-bwtar "n760405
sobkz = iobew-sobkz "n760405
lifnr = iobew-lifnr "n760405
BINARY SEARCH. "n760405
IF sy-subrc = 0. "n760405
xmbew-vksal = iobew_ext-vmvks. "n760405
ENDIF. "n760405
APPEND xmbew. "n497391
ENDLOOP. "n497391
CLEAR iobew. REFRESH iobew. FREE iobew. "n497391
CLEAR xmbew. "n711749
ELSEIF NOT vjsaldo IS INITIAL.
SELECT * FROM mbew INTO CORRESPONDING FIELDS OF TABLE imbew
FOR ALL ENTRIES IN organ WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bwtar IN bwtar.
CLEAR imbew_ext. REFRESH imbew_ext. "n760405
CALL FUNCTION 'MBEW_EXTEND'
EXPORTING
kzrfb = 'X'
maxtz = ' '
xvper = ' '
xvjah = 'X'
TABLES
mbew_tab = imbew "n760405
mbew_ext_tab = imbew_ext. "n760405
SORT imbew_ext BY matnr bwkey bwtar. "n760405
LOOP AT imbew.
CHECK imbew-vjbkl IN ibklas. "207501
MOVE-CORRESPONDING imbew TO xmbew.
xmbew-lbkum = imbew-vjkum.
xmbew-salk3 = imbew-vjsal.
xmbew-vprsv = imbew-vjvpr.
xmbew-verpr = imbew-vjver.
xmbew-stprs = imbew-vjstp.
xmbew-peinh = imbew-vjpei.
xmbew-bklas = imbew-vjbkl.
xmbew-salkv = imbew-vjsav.
READ TABLE imbew_ext WITH KEY matnr = imbew-matnr "n760405
bwkey = imbew-bwkey "n760405
bwtar = imbew-bwtar "n760405
BINARY SEARCH. "n760405
IF sy-subrc = 0. "n760405
xmbew-vksal = imbew_ext-vjvks. "n760405
ENDIF. "n760405
APPEND xmbew.
ENDLOOP.
CLEAR imbew. REFRESH imbew. FREE imbew.
CLEAR xmbew. "n711749
SELECT * FROM ebew INTO CORRESPONDING FIELDS OF TABLE iebew
FOR ALL ENTRIES IN organ WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bwtar IN bwtar.
CLEAR iebew_ext. REFRESH iebew_ext. "n760405
CALL FUNCTION 'EBEW_EXTEND'
EXPORTING
kzrfb = 'X'
maxtz = ' '
xvper = ' '
xvjah = 'X'
TABLES
ebew_tab = iebew "n760405
ebew_ext_tab = iebew_ext. "n760405
SORT iebew_ext BY matnr bwkey bwtar sobkz vbeln posnr."n760405
LOOP AT iebew.
CHECK iebew-vjbkl IN ibklas. "207501
MOVE-CORRESPONDING iebew TO xmbew.
xmbew-lbkum = iebew-vjkum.
xmbew-salk3 = iebew-vjsal.
xmbew-vprsv = iebew-vjvpr.
xmbew-verpr = iebew-vjver.
xmbew-stprs = iebew-vjstp.
xmbew-peinh = iebew-vjpei.
xmbew-bklas = iebew-vjbkl.
xmbew-salkv = iebew-vjsav.
xmbew-no_sum = 'X'.
READ TABLE iebew_ext WITH KEY matnr = iebew-matnr "n760405
bwkey = iebew-bwkey "n760405
bwtar = iebew-bwtar "n760405
sobkz = iebew-sobkz "n760405
vbeln = iebew-vbeln "n760405
posnr = iebew-posnr "n760405
BINARY SEARCH. "n760405
IF sy-subrc = 0. "n760405
xmbew-vksal = iebew_ext-vjvks. "n760405
ENDIF. "n760405
APPEND xmbew.
ENDLOOP.
CLEAR iebew. REFRESH iebew. FREE iebew.
CLEAR xmbew. "n711749
SELECT * FROM qbew INTO CORRESPONDING FIELDS OF TABLE iqbew
FOR ALL ENTRIES IN organ WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bwtar IN bwtar.
CLEAR iqbew_ext. REFRESH iqbew_ext. "n760405
CALL FUNCTION 'QBEW_EXTEND'
EXPORTING
kzrfb = 'X'
maxtz = ' '
xvper = ' '
xvjah = 'X'
TABLES
qbew_tab = iqbew "n760405
qbew_ext_tab = iqbew_ext. "n760405
SORT iqbew_ext BY matnr bwkey bwtar sobkz pspnr. "n760405
LOOP AT iqbew.
CHECK iqbew-vjbkl IN ibklas. "207501
MOVE-CORRESPONDING iqbew TO xmbew.
xmbew-lbkum = iqbew-vjkum.
xmbew-salk3 = iqbew-vjsal.
xmbew-vprsv = iqbew-vjvpr.
xmbew-verpr = iqbew-vjver.
xmbew-stprs = iqbew-vjstp.
xmbew-peinh = iqbew-vjpei.
xmbew-bklas = iqbew-vjbkl.
xmbew-salkv = iqbew-vjsav.
xmbew-no_sum = 'X'.
READ TABLE iqbew_ext WITH KEY matnr = iqbew-matnr "n760405
bwkey = iqbew-bwkey "n760405
bwtar = iqbew-bwtar "n760405
sobkz = iqbew-sobkz "n760405
pspnr = iqbew-pspnr "n760405
BINARY SEARCH. "n760405
IF sy-subrc = 0. "n760405
xmbew-vksal = iqbew_ext-vjvks. "n760405
ENDIF. "n760405
APPEND xmbew.
ENDLOOP.
CLEAR iqbew. REFRESH iqbew. FREE iqbew.
CLEAR xmbew. "n711749
consider valuated subcontractor stocks from OBEW "n497391
SELECT * FROM obew "n497391
INTO CORRESPONDING FIELDS OF TABLE iobew "n497391
FOR ALL ENTRIES IN organ "n497391
WHERE bwkey EQ organ-bwkey "n497391
AND matnr IN matnr "n497391
AND bwtar IN bwtar. "n497391
CLEAR iobew_ext. REFRESH iobew_ext. "n760405
CALL FUNCTION 'OBEW_EXTEND' "n497391
EXPORTING "n497391
kzrfb = 'X' "n497391
maxtz = ' ' "n497391
xvper = ' ' "n497391
xvjah = 'X' "n497391
TABLES "n497391
obew_tab = iobew "n760405
obew_ext_tab = iobew_ext. "n760405
SORT iobew_ext BY matnr bwkey bwtar sobkz lifnr. "n760405
LOOP AT iobew. "n497391
CHECK iobew-vjbkl IN ibklas. "n497391
MOVE-CORRESPONDING iobew TO xmbew. "n497391
xmbew-lbkum = iobew-vjkum. "n497391
xmbew-salk3 = iobew-vjsal. "n497391
xmbew-vprsv = iobew-vjvpr. "n497391
xmbew-verpr = iobew-vjver. "n497391
xmbew-stprs = iobew-vjstp. "n497391
xmbew-peinh = iobew-vjpei. "n497391
xmbew-bklas = iobew-vjbkl. "n497391
xmbew-salkv = iobew-vjsav. "n497391
xmbew-no_sum = 'X'. "n497391
READ TABLE iobew_ext WITH KEY matnr = iobew-matnr "n760405
bwkey = iobew-bwkey "n760405
bwtar = iobew-bwtar "n760405
sobkz = iobew-sobkz "n760405
lifnr = iobew-lifnr "n760405
BINARY SEARCH. "n760405
IF sy-subrc = 0. "n760405
xmbew-vksal = iobew_ext-vjvks. "n760405
ENDIF. "n760405
APPEND xmbew. "n497391
ENDLOOP. "n497391
CLEAR iobew. REFRESH iobew. FREE iobew. "n497391
CLEAR xmbew. "n711749
ENDIF.
ELSEIF skont IS INITIAL.
IF NOT aksaldo IS INITIAL.
IF NOT summen IS INITIAL.
LOOP AT organ.
CLEAR: f_bwkey, f_bklas, f_bwtty, f_bwtar, sum.
SELECT bwkey bklas bwtty bwtar SUM( salk3 ) FROM mbew
INTO (f_bwkey, f_bklas, f_bwtty, f_bwtar, sum)
WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bklas IN bklas
AND bwtar IN bwtar
GROUP BY bwkey bklas bwtty bwtar.
CHECK NOT sum IS INITIAL.
CHECK NOT f_bklas IS INITIAL.
MOVE f_bwkey TO xmbew-bwkey.
MOVE f_bklas TO xmbew-bklas.
MOVE f_bwtty TO xmbew-bwtty.
MOVE f_bwtar TO xmbew-bwtar.
MOVE sum TO xmbew-salk3.
COLLECT xmbew.
ENDSELECT.
CLEAR: f_bwkey, f_bklas, f_bwtty, f_bwtar, sum.
SELECT bwkey bklas SUM( salk3 ) FROM ebew
INTO (f_bwkey, f_bklas, sum)
WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bklas IN bklas
AND bwtar IN bwtar GROUP BY bwkey bklas.
CHECK NOT sum IS INITIAL.
CHECK NOT f_bklas IS INITIAL.
MOVE f_bwkey TO xmbew-bwkey.
MOVE f_bklas TO xmbew-bklas.
MOVE f_bwtty TO xmbew-bwtty.
MOVE f_bwtar TO xmbew-bwtar.
MOVE sum TO xmbew-salk3.
COLLECT xmbew.
ENDSELECT.
CLEAR: f_bwkey, f_bklas, f_bwtty, f_bwtar, sum.
SELECT bwkey bklas bwtty bwtar SUM( salk3 ) FROM qbew
INTO (f_bwkey, f_bklas, f_bwtty, f_bwtar, sum)
WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bklas IN bklas
AND bwtar IN bwtar
GROUP BY bwkey bklas bwtty bwtar.
CHECK NOT sum IS INITIAL.
CHECK NOT f_bklas IS INITIAL.
MOVE f_bwkey TO xmbew-bwkey.
MOVE f_bklas TO xmbew-bklas.
MOVE f_bwtty TO xmbew-bwtty.
MOVE f_bwtar TO xmbew-bwtar.
MOVE sum TO xmbew-salk3.
COLLECT xmbew.
ENDSELECT.
consider valuated subcontractor stocks from OBEW "n497391
CLEAR: f_bwkey, f_bklas, f_bwtty, f_bwtar, sum. "n497391
"n497391
SELECT bwkey bklas bwtty bwtar SUM( salk3 ) "n497391
FROM obew "n497391
INTO (f_bwkey, f_bklas, f_bwtty, f_bwtar, sum) "n497391
WHERE bwkey EQ organ-bwkey "n497391
AND matnr IN matnr "n497391
AND bklas IN bklas "n497391
AND bwtar IN bwtar "n497391
GROUP BY bwkey bklas bwtty bwtar. "n497391
CHECK NOT sum IS INITIAL. "n497391
CHECK NOT f_bklas IS INITIAL. "n497391
MOVE f_bwkey TO xmbew-bwkey. "n497391
MOVE f_bklas TO xmbew-bklas. "n497391
MOVE f_bwtty TO xmbew-bwtty. "n497391
MOVE f_bwtar TO xmbew-bwtar. "n497391
MOVE sum TO xmbew-salk3. "n497391
COLLECT xmbew. "n497391
ENDSELECT. "n497391
ENDLOOP.
ELSEIF summen IS INITIAL.
CLEAR xmbew. "388498
SELECT mandt matnr bwkey bwtar lvorm lbkum salk3
vprsv verpr stprs peinh bklas salkv lfgja lfmon
bwtty pstat vksal eklas qklas
FROM mbew INTO CORRESPONDING FIELDS OF xmbew
FOR ALL ENTRIES IN organ WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bwtar IN bwtar
AND bklas IN bklas
AND lfgja = v_year " os0800
AND lfmon = v_period " os0800
AND lfgja between v_year and v_year1 " os0800
AND lfmon between v_period and v_period1." os0800
CHECK NOT xmbew-bklas IS INITIAL.
APPEND xmbew.
ENDSELECT.
CLEAR xmbew. "388498
SELECT mandt matnr bwkey bwtar lbkum salk3
vprsv verpr stprs peinh bklas salkv lfgja lfmon
bwtty vksal sobkz vbeln posnr
FROM ebew INTO CORRESPONDING FIELDS OF xmbew
FOR ALL ENTRIES IN organ WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bwtar IN bwtar
AND bklas IN bklas
AND lfgja = v_year " os0800
AND lfmon = v_period " os0800
AND lfgja between v_year and v_year1 " os0800
AND lfmon between v_period and v_period1. " os0800
CHECK NOT xmbew-bklas IS INITIAL.
xmbew-no_sum = 'X'.
APPEND xmbew.
ENDSELECT.
CLEAR xmbew. "388498
SELECT mandt matnr bwkey bwtar lbkum salk3
vprsv verpr stprs peinh bklas salkv lfgja lfmon
bwtty vksal sobkz pspnr
FROM qbew INTO CORRESPONDING FIELDS OF xmbew
FOR ALL ENTRIES IN organ WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bwtar IN bwtar
AND bklas IN bklas
AND lfgja = v_year "os0800
AND lfmon = v_period "os0800
AND lfgja between v_year and v_year1 " os0800
AND lfmon between v_period and v_period1. "os0800
CHECK NOT xmbew-bklas IS INITIAL.
xmbew-no_sum = 'X'.
APPEND xmbew.
ENDSELECT.
consider valuated subcontractor stocks from OBEW "n497391
CLEAR xmbew. "n497391
SELECT mandt matnr bwkey bwtar lbkum salk3 "n497391
vprsv verpr stprs peinh bklas salkv "n497391
lfgja lfmon bwtty vksal sobkz lifnr "n497391
FROM obew INTO CORRESPONDING FIELDS OF xmbew "n497391
FOR ALL ENTRIES IN organ "n497391
WHERE bwkey EQ organ-bwkey "n497391
AND matnr IN matnr "n497391
AND bwtar IN bwtar "n497391
AND bklas IN bklas
AND lfgja = v_year " os0800
AND lfmon = v_period " os0800
AND lfgja between v_year and v_year1 " os0800
AND lfmon between v_period and v_period1. "os0800
CHECK NOT xmbew-bklas IS INITIAL. "n497391
xmbew-no_sum = 'X'. "n497391
APPEND xmbew. "n497391
ENDSELECT. "n497391
ENDIF.
ELSEIF NOT vmsaldo IS INITIAL.
SELECT * FROM mbew INTO CORRESPONDING FIELDS OF TABLE imbew
FOR ALL ENTRIES IN organ WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bwtar IN bwtar.
CLEAR imbew_ext. REFRESH imbew_ext. "n760405
CALL FUNCTION 'MBEW_EXTEND'
EXPORTING
kzrfb = 'X'
maxtz = ' '
xvper = 'X'
xvjah = ' '
TABLES
mbew_tab = imbew "n760405
mbew_ext_tab = imbew_ext. "n760405
SORT imbew_ext BY matnr bwkey bwtar. "n760405
LOOP AT imbew.
CHECK NOT imbew-vmbkl IS INITIAL.
CHECK imbew-vmbkl IN bklas. "207501
MOVE-CORRESPONDING imbew TO xmbew.
xmbew-lbkum = imbew-vmkum.
xmbew-salk3 = imbew-vmsal.
xmbew-vprsv = imbew-vmvpr.
xmbew-verpr = imbew-vmver.
xmbew-stprs = imbew-vmstp.
xmbew-peinh = imbew-vmpei.
xmbew-bklas = imbew-vmbkl.
xmbew-salkv = imbew-vmsav.
READ TABLE imbew_ext WITH KEY matnr = imbew-matnr "n760405
bwkey = imbew-bwkey "n760405
bwtar = imbew-bwtar "n760405
BINARY SEARCH. "n760405
IF sy-subrc = 0. "n760405
xmbew-vksal = imbew_ext-vmvks. "n760405
ENDIF. "n760405
APPEND xmbew.
ENDLOOP.
CLEAR imbew. REFRESH imbew. FREE imbew.
CLEAR xmbew. "n711749
SELECT * FROM ebew INTO CORRESPONDING FIELDS OF TABLE iebew
FOR ALL ENTRIES IN organ WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bwtar IN bwtar.
CLEAR iebew_ext. REFRESH iebew_ext. "n760405
CALL FUNCTION 'EBEW_EXTEND'
EXPORTING
kzrfb = 'X'
maxtz = ' '
xvper = 'X'
xvjah = ' '
TABLES
ebew_tab = iebew "n760405
ebew_ext_tab = iebew_ext. "n760405
SORT iebew_ext BY matnr bwkey bwtar sobkz vbeln posnr."n760405
LOOP AT iebew.
CHECK NOT iebew-bklas IS INITIAL.
CHECK iebew-vmbkl IN bklas. "207501
MOVE-CORRESPONDING iebew TO xmbew.
xmbew-lbkum = iebew-vmkum.
xmbew-salk3 = iebew-vmsal.
xmbew-vprsv = iebew-vmvpr.
xmbew-verpr = iebew-vmver.
xmbew-stprs = iebew-vmstp.
xmbew-peinh = iebew-vmpei.
xmbew-bklas = iebew-vmbkl.
xmbew-salkv = iebew-vmsav.
xmbew-no_sum = 'X'.
READ TABLE iebew_ext WITH KEY matnr = iebew-matnr "n760405
bwkey = iebew-bwkey "n760405
bwtar = iebew-bwtar "n760405
sobkz = iebew-sobkz "n760405
vbeln = iebew-vbeln "n760405
posnr = iebew-posnr "n760405
BINARY SEARCH. "n760405
IF sy-subrc = 0. "n760405
xmbew-vksal = iebew_ext-vmvks. "n760405
ENDIF. "n760405
APPEND xmbew.
ENDLOOP.
CLEAR iebew. REFRESH iebew. FREE iebew.
CLEAR xmbew. "n711749
SELECT * FROM qbew INTO CORRESPONDING FIELDS OF TABLE iqbew
FOR ALL ENTRIES IN organ WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bwtar IN bwtar.
CLEAR iqbew_ext. REFRESH iqbew_ext. "n760405
CALL FUNCTION 'QBEW_EXTEND'
EXPORTING
kzrfb = 'X'
maxtz = ' '
xvper = 'X'
xvjah = ' '
TABLES
qbew_tab = iqbew "n760405
qbew_ext_tab = iqbew_ext. "n760405
SORT iqbew_ext BY matnr bwkey bwtar sobkz pspnr. "n760405
LOOP AT iqbew.
CHECK NOT iqbew-bklas IS INITIAL.
CHECK iqbew-vmbkl IN bklas. "207501
MOVE-CORRESPONDING iqbew TO xmbew.
xmbew-lbkum = iqbew-vmkum.
xmbew-salk3 = iqbew-vmsal.
xmbew-vprsv = iqbew-vmvpr.
xmbew-verpr = iqbew-vmver.
xmbew-stprs = iqbew-vmstp.
xmbew-peinh = iqbew-vmpei.
xmbew-bklas = iqbew-vmbkl.
xmbew-salkv = iqbew-vmsav.
xmbew-no_sum = 'X'.
READ TABLE iqbew_ext WITH KEY matnr = iqbew-matnr "n760405
bwkey = iqbew-bwkey "n760405
bwtar = iqbew-bwtar "n760405
sobkz = iqbew-sobkz "n760405
pspnr = iqbew-pspnr "n760405
BINARY SEARCH. "n760405
IF sy-subrc = 0. "n760405
xmbew-vksal = iqbew_ext-vmvks. "n760405
ENDIF. "n760405
APPEND xmbew.
ENDLOOP.
CLEAR iqbew. REFRESH iqbew. FREE iqbew.
CLEAR xmbew. "n711749
consider valuated subcontractor stocks from OBEW "n497391
SELECT * FROM obew "n497391
INTO CORRESPONDING FIELDS OF TABLE iobew "n497391
FOR ALL ENTRIES IN organ "n497391
WHERE bwkey EQ organ-bwkey "n497391
AND matnr IN matnr "n497391
AND bwtar IN bwtar. "n497391
CLEAR iobew_ext. REFRESH iobew_ext. "n760405
CALL FUNCTION 'OBEW_EXTEND' "n497391
EXPORTING "n497391
kzrfb = 'X' "n497391
maxtz = ' ' "n497391
xvper = 'X' "n497391
xvjah = ' ' "n497391
TABLES "n497391
obew_tab = iobew "n760405
obew_ext_tab = iobew_ext. "n760405
SORT iobew_ext BY matnr bwkey bwtar sobkz lifnr. "n760405
LOOP AT iobew. "n497391
CHECK NOT iobew-bklas IS INITIAL. "n497391
CHECK iobew-vmbkl IN bklas. "n497391
MOVE-CORRESPONDING iobew TO xmbew. "n497391
xmbew-lbkum = iobew-vmkum. "n497391
xmbew-salk3 = iobew-vmsal. "n497391
xmbew-vprsv = iobew-vmvpr. "n497391
xmbew-verpr = iobew-vmver. "n497391
xmbew-stprs = iobew-vmstp. "n497391
xmbew-peinh = iobew-vmpei. "n497391
xmbew-bklas = iobew-vmbkl. "n497391
xmbew-salkv = iobew-vmsav. "n497391
xmbew-no_sum = 'X'. "n497391
READ TABLE iobew_ext WITH KEY matnr = iobew-matnr "n760405
bwkey = iobew-bwkey "n760405
bwtar = iobew-bwtar "n760405
sobkz = iobew-sobkz "n760405
lifnr = iobew-lifnr "n760405
BINARY SEARCH. "n760405
IF sy-subrc = 0. "n760405
xmbew-vksal = iobew_ext-vmvks. "n760405
ENDIF. "n760405
APPEND xmbew. "n497391
ENDLOOP. "n497391
CLEAR iobew. REFRESH iobew. FREE iobew. "n497391
CLEAR xmbew. "n711749
ELSEIF NOT vjsaldo IS INITIAL.
SELECT * FROM mbew INTO CORRESPONDING FIELDS OF TABLE imbew
FOR ALL ENTRIES IN organ WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bwtar IN bwtar.
CLEAR imbew_ext. REFRESH imbew_ext. "n760405
CALL FUNCTION 'MBEW_EXTEND'
EXPORTING
kzrfb = 'X'
maxtz = ' '
xvper = ' '
xvjah = 'X'
TABLES
mbew_tab = imbew "n760405
mbew_ext_tab = imbew_ext. "n760405
SORT imbew_ext BY matnr bwkey bwtar. "n760405
LOOP AT imbew.
CHECK NOT imbew-bklas IS INITIAL.
CHECK imbew-vjbkl IN bklas. "207501
MOVE-CORRESPONDING imbew TO xmbew.
xmbew-lbkum = imbew-vjkum.
xmbew-salk3 = imbew-vjsal.
xmbew-vprsv = imbew-vjvpr.
xmbew-verpr = imbew-vjver.
xmbew-stprs = imbew-vjstp.
xmbew-peinh = imbew-vjpei.
xmbew-bklas = imbew-vjbkl.
xmbew-salkv = imbew-vjsav.
READ TABLE imbew_ext WITH KEY matnr = imbew-matnr "n760405
bwkey = imbew-bwkey "n760405
bwtar = imbew-bwtar "n760405
BINARY SEARCH. "n760405
IF sy-subrc = 0. "n760405
xmbew-vksal = imbew_ext-vjvks. "n760405
ENDIF. "n760405
APPEND xmbew.
ENDLOOP.
CLEAR imbew. REFRESH imbew. FREE imbew.
CLEAR xmbew. "n711749
SELECT * FROM ebew INTO CORRESPONDING FIELDS OF TABLE iebew
FOR ALL ENTRIES IN organ WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bwtar IN bwtar.
CLEAR iebew_ext. REFRESH iebew_ext. "n760405
CALL FUNCTION 'EBEW_EXTEND'
EXPORTING
kzrfb = 'X'
maxtz = ' '
xvper = ' '
xvjah = 'X'
TABLES
ebew_tab = iebew "n760405
ebew_ext_tab = iebew_ext. "n760405
SORT iebew_ext BY matnr bwkey bwtar sobkz vbeln posnr."n760405
LOOP AT iebew.
CHECK NOT iebew-bklas IS INITIAL.
CHECK iebew-vjbkl IN bklas. "207501
MOVE-CORRESPONDING iebew TO xmbew.
xmbew-lbkum = iebew-vjkum.
xmbew-salk3 = iebew-vjsal.
xmbew-vprsv = iebew-vjvpr.
xmbew-verpr = iebew-vjver.
xmbew-stprs = iebew-vjstp.
xmbew-peinh = iebew-vjpei.
xmbew-bklas = iebew-vjbkl.
xmbew-salkv = iebew-vjsav.
xmbew-no_sum = 'X'.
READ TABLE iebew_ext WITH KEY matnr = iebew-matnr "n760405
bwkey = iebew-bwkey "n760405
bwtar = iebew-bwtar "n760405
sobkz = iebew-sobkz "n760405
vbeln = iebew-vbeln "n760405
posnr = iebew-posnr "n760405
BINARY SEARCH. "n760405
IF sy-subrc = 0. "n760405
xmbew-vksal = iebew_ext-vjvks. "n760405
ENDIF. "n760405
APPEND xmbew.
ENDLOOP.
CLEAR iebew. REFRESH iebew. FREE iebew.
CLEAR xmbew. "n711749
SELECT * FROM qbew INTO CORRESPONDING FIELDS OF TABLE iqbew
FOR ALL ENTRIES IN organ WHERE bwkey EQ organ-bwkey
AND matnr IN matnr
AND bwtar IN bwtar.
CLEAR iqbew_ext. REFRESH iqbew_ext. "n760405
CALL FUNCTION 'QBEW_EXTEND'
EXPORTING
kzrfb = 'X'
maxtz = ' '
xvper = ' '
xvjah = 'X'
TABLES
qbew_tab = iqbew "n760405
qbew_ext_tab = iqbew_ext. "n760405
SORT iqbew_ext BY matnr bwkey bwtar sobkz pspnr. "n760405
LOOP AT iqbew.
CHECK NOT iqbew-bklas IS INITIAL.
CHECK iqbew-vjbkl IN bklas. "207501
MOVE-CORRESPONDING iqbew TO xmbew.
xmbew-lbkum = iqbew-vjkum.
xmbew-salk3 = iqbew-vjsal.
xmbew-vprsv = iqbew-vjvpr.
xmbew-verpr = iqbew-vjver.
xmbew-stprs = iqbew-vjstp.
xmbew-peinh = iqbew-vjpei.
xmbew-bklas = iqbew-vjbkl.
xmbew-salkv = iqbew-vjsav.
xmbew-no_sum = 'X'.
READ TABLE iqbew_ext WITH KEY matnr = iqbew-matnr "n760405
bwkey = iqbew-bwkey "n760405
bwtar = iqbew-bwtar "n760405
sobkz = iqbew-sobkz "n760405
pspnr = iqbew-pspnr "n760405
BINARY SEARCH. "n760405
IF sy-subrc = 0. "n760405
xmbew-vksal = iqbew_ext-vjvks. "n760405
ENDIF. "n760405
APPEND xmbew.
ENDLOOP.
CLEAR iqbew. REFRESH iqbew. FREE iqbew.
CLEAR xmbew. "n711749
consider valuated subcontractor stocks from OBEW "n497391
SELECT * FROM obew "n497391
INTO CORRESPONDING FIELDS OF TABLE iobew "n497391
FOR ALL ENTRIES IN organ "n497391
WHERE bwkey EQ organ-bwkey "n497391
AND matnr IN matnr "n497391
AND bwtar IN bwtar. "n497391
CLEAR iobew_ext. REFRESH iobew_ext. "n760405
CALL FUNCTION 'OBEW_EXTEND' "n497391
EXPORTING "n497391
kzrfb = 'X' "n497391
maxtz = ' ' "n497391
xvper = ' ' "n497391
xvjah = 'X' "n497391
TABLES "n497391
obew_tab = iobew "n760405
obew_ext_tab = iobew_ext. "n760405
SORT iobew_ext BY matnr bwkey bwtar sobkz lifnr. "n760405
LOOP AT iobew. "n497391
CHECK NOT iobew-bklas IS INITIAL. "n497391
CHECK iobew-vjbkl IN bklas. "n497391
MOVE-CORRESPONDING iobew TO xmbew. "n497391
xmbew-lbkum = iobew-vjkum. "n497391
xmbew-salk3 = iobew-vjsal. "n497391
xmbew-vprsv = iobew-vjvpr. "n497391
xmbew-verpr = iobew-vjver. "n497391
xmbew-stprs = iobew-vjstp. "n497391
xmbew-peinh = iobew-vjpei. "n497391
xmbew-bklas = iobew-vjbkl. "n497391
xmbew-salkv = iobew-vjsav. "n497391
xmbew-no_sum = 'X'. "n497391
READ TABLE iobew_ext WITH KEY matnr = iobew-matnr "n760405
bwkey = iobew-bwkey "n760405
bwtar = iobew-bwtar "n760405
sobkz = iobew-sobkz "n760405
lifnr = iobew-lifnr "n760405
BINARY SEARCH. "n760405
IF sy-subrc = 0. "n760405
xmbew-vksal = iobew_ext-vjvks. "n760405
ENDIF. "n760405
APPEND xmbew. "n497391
ENDLOOP. "n497391
CLEAR iobew. REFRESH iobew. FREE iobew. "n497391
CLEAR xmbew. "n711749
ENDIF.
ENDIF.
READ TABLE xmbew INDEX 1.
IF NOT sy-subrc IS INITIAL.
MESSAGE s289.
Kein Material in Selektion vorhanden
PERFORM anforderungsbild.
ENDIF.
Lesen des Materialstammes:
LOOP AT xmbew.
MOVE xmbew-matnr TO material-matnr.
COLLECT material.
ENDLOOP.
For every material we need the material master MARA. If the
logon language is present in MAKT, we also need the text.
INNER JOIN or OUTER JOIN cannot be used because the language-condition
canot be handled in one statement.
SELECT matnr mtart lvorm meins "353378
INTO CORRESPONDING FIELDS OF TABLE xmarav "353378
FROM mara "353378
FOR ALL ENTRIES IN material "353378
WHERE matnr = material-matnr. "353378
This is the ONE AND ONLY sort for XMARAV!!!
SORT xmarav BY matnr. "353378
Texts, as far as available. SELECT is buffered by the interface.
SELECT matnr maktx "353378
INTO (makt-matnr,makt-maktx) "353378
FROM makt "353378
FOR ALL ENTRIES IN material "353378
WHERE matnr = material-matnr "353378
AND spras = sy-langu. "353378
READ TABLE xmarav WITH KEY matnr = makt-matnr BINARY SEARCH."353378
IF sy-subrc IS INITIAL. "487464
xmarav-maktx = makt-maktx. "353378
MODIFY xmarav INDEX sy-tabix. "353378
ENDIF. "487464
ENDSELECT. "353378
CLEAR: t001-bukrs, matnr, saknr.
ENDFORM. " DATENSELEKTION
*&----
*
*& Form FELDKATALOG_BESTAND
*&----
*
text
*----
*
-->P_FIELDCAT[] text *
*----
*
FORM feldkatalog_bestand USING p_fieldcat TYPE slis_t_fieldcat_alv.
DATA: fieldcat TYPE slis_fieldcat_alv.
Positionsfelder:
CLEAR fieldcat.
fieldcat-fieldname = 'BUPER'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-key = 'X'.
fieldcat-key_sel = 'X'.
fieldcat-col_pos = '1'.
fieldcat-no_out = 'X'.
fieldcat-seltext_s = text-070.
fieldcat-seltext_m = text-070.
fieldcat-seltext_l = text-070.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'BUKRS'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'T001'.
fieldcat-key = 'X'.
fieldcat-col_pos = '2'.
fieldcat-key_sel = 'X'.
fieldcat-no_out = 'X'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'KONTS'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'T030'.
fieldcat-key = 'X'.
fieldcat-col_pos = '3'.
fieldcat-key_sel = 'X'.
fieldcat-no_out = 'X'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'BWKEY'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-col_pos = '4'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'MATNR'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-col_pos = '5'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'MAKTX'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'MAKT'.
fieldcat-col_pos = '6'.
fieldcat-no_out = 'X'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'BWTAR'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-no_out = 'X'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'LVORM'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'EMBEW'.
fieldcat-no_out = 'X'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'LBKUM'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-col_pos = '7'.
fieldcat-qfieldname = 'MEINS'.
fieldcat-do_sum = 'X'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'SALK3'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-col_pos = '9'.
fieldcat-cfieldname = 'WAERS'.
fieldcat-do_sum = 'X'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'MEINS'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'MARA'.
fieldcat-col_pos = '8'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'WAERS'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'T001'.
fieldcat-col_pos = '10'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'VKSAL'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-no_out = 'X'.
fieldcat-do_sum = 'X'.
fieldcat-cfieldname = 'WAERS'. "note 305809
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'SOBKZ'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'EBEW'.
fieldcat-no_out = 'X'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'VBELN'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'EBEW'.
fieldcat-no_out = 'X'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'POSNR'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'EBEW'.
fieldcat-no_out = 'X'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'PSPNR'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'QBEW'.
fieldcat-no_out = 'X'.
APPEND fieldcat TO p_fieldcat.
process the vendor number of subcontractor as a hidden "n497391
field "n497391
CLEAR fieldcat. "n497391
fieldcat-fieldname = 'LIFNR'. "n497391
fieldcat-tabname = 'DETAIL'. "n497391
fieldcat-ref_tabname = 'OBEW'. "n497391
fieldcat-no_out = 'X'. "n497391
APPEND fieldcat TO p_fieldcat. "n497391
CLEAR fieldcat.
fieldcat-fieldname = 'VPRSV'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-no_out = 'X'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'VERPR'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-no_out = 'X'.
fieldcat-cfieldname = 'WAERS'. "note 305809
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'STPRS'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-no_out = 'X'.
fieldcat-cfieldname = 'WAERS'. "note 305809
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'PEINH'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-no_out = 'X'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'BKLAS'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-no_out = 'X'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'EKLAS'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-no_out = 'X'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'QKLAS'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-no_out = 'X'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'SALKV'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-no_out = 'X'.
fieldcat-cfieldname = 'WAERS'. "note 305809
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'BWTTY'. "
fieldcat-tabname = 'DETAIL'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-no_out = 'X'.
APPEND fieldcat TO p_fieldcat.
ENDFORM. " FELDKATALOG_BESTAND
*&----
*
*& Form LISTAUSGABE_BESTAND
*&----
*
text
*----
*
FORM listausgabe_bestand.
mofication done by os0800
SUBMIT z21597r_ccna_inv_balance
WITH werks IN bwkey
WITH matnr IN matnr
WITH datum IN s_budat
WITH s_ingrp IN s_ingrp
WITH s_sigrp IN s_sigrp
WITH s_dtgrp IN s_dtgrp
AND return.
DATA: ls_variant LIKE disvariant.
DATA: ls_layout TYPE slis_layout_alv. "843776
CLEAR ls_variant.
ls_variant-report = alv_repid.
ls_variant-handle = 'MATS'.
*
ls_layout = alv_layout. "843776
IF alv_colourize_fields = 'X'. "843776
ls_layout-coltab_fieldname = 'FARBE'. "843776
ENDIF. "843776
ls_layout-f2code = '9MAT'. "843776
*
CALL FUNCTION alv_detail_func
EXPORTING
i_callback_program = alv_repid
i_callback_pf_status_set = 'STATUS_B'
i_callback_user_command = 'USER_COMMAND'
is_layout = ls_layout "843776
it_fieldcat = fieldcat_b[]
i_default = 'X'
i_save = 'A'
is_variant = ls_variant
is_print = alv_print
TABLES
t_outtab = detail.
*****end of modification by os0800
ENDFORM. " LISTAUSGABE_BESTAND
*&----
*
*& Form SELEKTION_ERGAENZEN
*&----
*
text
*----
*
FORM selektion_ergaenzen.
*----
Saldenausgabe am Ende Sachkonto -
*
LOOP AT bestand.
READ TABLE organ WITH KEY bwkey = bestand-bwkey.
MOVE organ-bukrs TO bestand-bukrs.
MOVE organ-waers TO bestand-waers.
Farbinformation:
CLEAR color.
REFRESH color.
IF bestand-lbkum >= 0.
color-fieldname = 'LBKUM'.
color-color-col = '5'.
color-color-int = '0'.
APPEND color.
color-fieldname = 'MEINS'.
color-color-col = '5'.
color-color-int = '0'.
APPEND color.
ELSEIF bestand-lbkum < 0.
color-fieldname = 'LBKUM'.
color-color-col = '6'.
color-color-int = '0'.
APPEND color.
color-fieldname = 'MEINS'.
color-color-col = '6'.
color-color-int = '0'.
APPEND color.
ENDIF.
IF bestand-salk3 >= 0.
color-fieldname = 'SALK3'.
color-color-col = '5'.
color-color-int = '0'.
APPEND color.
color-fieldname = 'WAERS'.
color-color-col = '5'.
color-color-int = '0'.
APPEND color.
ELSEIF bestand-salk3 < 0.
color-fieldname = 'SALK3'.
color-color-col = '6'.
color-color-int = '0'.
APPEND color.
color-fieldname = 'WAERS'.
color-color-col = '6'.
color-color-int = '0'.
APPEND color.
ENDIF.
IF bestand-vmkum >= 0.
color-fieldname = 'VMKUM'.
color-color-col = '5'.
color-color-int = '0'.
APPEND color.
color-fieldname = 'MEINS'.
color-color-col = '5'.
color-color-int = '0'.
APPEND color.
ELSEIF bestand-vmkum < 0.
color-fieldname = 'VMKUM'.
color-color-col = '6'.
color-color-int = '0'.
APPEND color.
color-fieldname = 'MEINS'.
color-color-col = '6'.
color-color-int = '0'.
APPEND color.
ENDIF.
IF bestand-vmsal >= 0.
color-fieldname = 'VMSAL'.
color-color-col = '5'.
color-color-int = '0'.
APPEND color.
color-fieldname = 'WAERS'.
color-color-col = '5'.
color-color-int = '0'.
APPEND color.
ELSEIF bestand-vmsal < 0.
color-fieldname = 'VMSAL'.
color-color-col = '6'.
color-color-int = '0'.
APPEND color.
color-fieldname = 'WAERS'.
color-color-col = '6'.
color-color-int = '0'.
APPEND color.
ENDIF.
IF bestand-vjkum >= 0.
color-fieldname = 'VJKUM'.
color-color-col = '5'.
color-color-int = '0'.
APPEND color.
color-fieldname = 'MEINS'.
color-color-col = '5'.
color-color-int = '0'.
APPEND color.
ELSEIF bestand-vjkum < 0.
color-fieldname = 'VJKUM'.
color-color-col = '6'.
color-color-int = '0'.
APPEND color.
color-fieldname = 'MEINS'.
color-color-col = '6'.
color-color-int = '0'.
APPEND color.
ENDIF.
IF bestand-vjsal >= 0.
color-fieldname = 'VJSAL'.
color-color-col = '5'.
color-color-int = '0'.
APPEND color.
color-fieldname = 'WAERS'.
color-color-col = '5'.
color-color-int = '0'.
APPEND color.
ELSEIF bestand-vjsal < 0.
color-fieldname = 'VJSAL'.
color-color-col = '6'.
color-color-int = '0'.
APPEND color.
color-fieldname = 'WAERS'.
color-color-col = '6'.
color-color-int = '0'.
APPEND color.
ENDIF.
bestand-farbe = color[].
MODIFY bestand TRANSPORTING bukrs waers farbe. "843776
ENDLOOP.
ENDFORM. " SELEKTION_ERGAENZEN
*&----
*
*& Form ORGANISATION
*&----
*
Einlesen der Tabellen T001, T001K, T030, T030R *
*----
*
FORM organisation.
SELECT DISTINCT t001~mandt t001~bukrs t001~butxt t001~waers t001~ktopl
t001k~bwkey t001k~bwmod t001k~xvkbw
INTO CORRESPONDING FIELDS OF TABLE organ
FROM t001 INNER JOIN t001k
ON t001~mandt = t001k~mandt AND
t001~bukrs = t001k~bukrs
WHERE t001k~bukrs IN bukrs
AND t001k~bwkey IN bwkey.
SORT organ.
Buchungsperioden (aktuelle und Vorperioden) werden aus MARV gelesen,
in die Organisationsatabelle ORGAN gestellt und von dort in die
Ausgabetabellen SALDO und HEADER übertragen
LOOP AT organ.
ON CHANGE OF organ-bukrs.
CLEAR rc_marv.
CALL FUNCTION 'MARV_SINGLE_READ'
EXPORTING
bukrs = organ-bukrs
IMPORTING
wmarv = marv
EXCEPTIONS
not_found = 1
wrong_call = 2
OTHERS = 3.
rc_marv = sy-subrc.
ENDON.
IF rc_marv IS INITIAL.
start of change by os0800.
MOVE-CORRESPONDING marv TO organ.
organ-vmgja = v_year.
organ-vmmon = v_period.
MODIFY organ TRANSPORTING vmgja vmmon.
MODIFY organ.
end of change by os0800.
ELSE.
DELETE organ.
ENDIF.
ENDLOOP.
If already here not more entries in ORGAN (wrong CC or combination)
leave. The rest of this report is not designed to recognize this
and totally fails with SELECT ... FOR ALL ENTRIES IN ORGAN.
IF organ[] IS INITIAL. "357162
MESSAGE s843. "357162
PERFORM anforderungsbild. "357162
ENDIF. "357162
'inner join' ist nur für transparente Tabellen, jedoch nicht für
Pooltabellen möglich.
SELECT * FROM t030r
FOR ALL ENTRIES IN organ WHERE ktopl EQ organ-ktopl
AND ktosl EQ 'BSX'.
IF t030r-xbkla IS INITIAL.
CLEAR bklas. REFRESH bklas.
ENDIF.
SELECT * FROM t030 WHERE ktopl EQ t030r-ktopl
AND ktosl EQ 'BSX'
AND bklas IN bklas
AND konts IN skont.
Stimmt die automatische Kontenfindung für die Bestandsbuchung
mit den zulässigen Customizing-Einstellungen (vergleiche mit
Include DFKB1INT) überein (keine Kontomodifikation und keine
voneinander abweichende Soll- und Habenkonten erlaubt)?
IF NOT t030-komok IS INITIAL OR "note209823
t030-konts NE t030-konth. "note209823
MOVE t030-ktopl TO message_text.
WRITE 'BSX' TO message_text+10.
WRITE t030-konts TO message_text+20.
CONDENSE message_text.
MESSAGE s147(m8) WITH message_text.
Kontenfindung für den Eintrag & nicht möglich
PERFORM anforderungsbild.
ENDIF.
ON CHANGE OF t030-ktopl OR t030-konts.
SELECT SINGLE * FROM skat WHERE spras = sy-langu
AND ktopl = t030-ktopl
AND saknr = t030-konts.
ENDON.
MOVE-CORRESPONDING t030 TO it030.
MOVE-CORRESPONDING skat TO it030.
MOVE-CORRESPONDING t030r TO it030.
APPEND it030.
ENDSELECT.
Bewertungsmodifikation eingeschaltet?
IF t030r-xbwmo IS INITIAL. "note 358829
LOOP AT organ WHERE ktopl EQ t030r-ktopl "note 358829
AND bwmod NE space. "note 358829
CLEAR organ-bwmod. "note 358829
MODIFY organ. "note 358829
ENDLOOP. "note 358829
ENDIF. "note 358829
LOOP AT organ WHERE ktopl EQ t030r-ktopl. "note 358829
organ-xbkla = t030r-xbkla. "note 358829
MODIFY organ. "note 358829
ENDLOOP. "note 358829
ENDSELECT.
SORT it030 BY bklas.
IF NOT skont IS INITIAL.
DESCRIBE TABLE it030 LINES index_z.
IF index_z IS INITIAL.
MESSAGE s055 WITH skont bukrs.
Das Sachkonto & ist im Buchungskreis & nicht vorhanden
PERFORM anforderungsbild.
ENDIF.
LOOP AT it030.
ON CHANGE OF it030-bklas.
CHECK it030-bklas IN bklas.
MOVE 'I' TO ibklas-sign.
MOVE 'EQ' TO ibklas-option.
MOVE it030-bklas TO ibklas-low.
APPEND ibklas.
ENDON.
ENDLOOP.
DESCRIBE TABLE ibklas LINES index_z.
IF index_z IS INITIAL.
MESSAGE s843.
Zu den vorgegebenen Daten ist kein Bestand vorhanden
PERFORM anforderungsbild.
ENDIF.
ENDIF.
SORT it030.
ENDFORM. " ORGANISATION
*&----
*
*& Form STATUS_S
*&----
*
FORM status_s USING extab TYPE slis_t_extab.
IF pruef IS INITIAL.
SET PF-STATUS 'STANDARD' EXCLUDING extab. "OS0800
SET PF-STATUS 'INV_STANDARD' EXCLUDING extab. "OS0800
ELSEIF NOT pruef IS INITIAL.
SET PF-STATUS 'ERWPRUEF' EXCLUDING extab."OS0800
SET PF-STATUS 'INV_ERWPRUEF' EXCLUDING extab. "OS0800
ENDIF.
ENDFORM. " STATUS_S
*&----
*
*& Form STATUS_B
*&----
*
FORM status_b USING extab TYPE slis_t_extab.
SET PF-STATUS 'BESTAND' EXCLUDING extab.
ENDFORM. " STATUS_B
*&----
*
*& Form SELEKTION_BEARBEITEN
*&----
*
text
*----
*
FORM selektion_bearbeiten.
SORT xmbew BY bwkey bklas.
LOOP AT xmbew.
Wertartikel: Verkaufswerte anzeigen
READ TABLE organ WITH KEY mandt = sy-mandt
bwkey = xmbew-bwkey BINARY SEARCH.
IF NOT organ-xvkbw IS INITIAL.
Verkaufspreisbewertung ist in diesem Bewertungskreis aktiv geschaltet.
Es muß geprüft werden, ob es sich um einen Wertartikel handelt.
MOVE c_ja TO xmbew-xvkbw.
READ TABLE xmarav "353378
WITH KEY matnr = xmbew-matnr BINARY SEARCH."353378
Die Materialart des Artikels wird gelesen:
SELECT SINGLE * FROM t134m WHERE bwkey = xmbew-bwkey
AND mtart = xmarav-mtart.
IF sy-subrc IS INITIAL.
IF t134m-wertu = c_ja AND t134m-mengu = c_nein.
Es handelt sich um einen Wertartikel
MOVE c_ja TO xmbew-ke_xwart.
ELSE.
Es handelt sich nicht um einen Wertartikel
MOVE c_nein TO xmbew-ke_xwart.
ENDIF.
ELSE.
Materialart nicht gefunden.
error fixed ( reported by extended syntax check ) "n486477
MESSAGE s001 "n486477
WITH 'T134M' xmbew-bwkey xmarav-mtart ' '. "n486477
ENDIF.
ELSE.
MOVE c_nein TO xmbew-ke_xwart.
MOVE c_nein TO xmbew-xvkbw.
ENDIF.
IF NOT negativ IS INITIAL.
IF xmbew-ke_xwart IS INITIAL.
IF xmbew-lbkum GE cnull. "Negative Bestände
DELETE xmbew. "Loeschen von positiven Best.
CHECK xmbew-lbkum LT cnull.
ENDIF.
ELSEIF NOT xmbew-ke_xwart IS INITIAL. "Verkaufswerte
IF xmbew-vksal GE cnull.
DELETE xmbew.
CHECK xmbew-vksal LT cnull.
ENDIF.
ENDIF.
ENDIF.
IF nullb = ' '. "keine Materialien mit
IF xmbew-ke_xwart IS INITIAL. "Nullbestand
IF xmbew-lbkum = null.
DELETE xmbew.
CHECK xmbew-lbkum NE null.
ENDIF.
ELSEIF NOT xmbew-ke_xwart IS INITIAL.
IF xmbew-vksal = null.
DELETE xmbew.
CHECK xmbew-vksal NE null.
ENDIF.
ENDIF.
ENDIF.
ON CHANGE OF xmbew-bklas OR xmbew-bwkey.
rc = 0.
PERFORM sachkonto.
ENDON.
IF rc NE 0.
DELETE xmbew.
CHECK rc = 0.
ENDIF.
MOVE xkonto TO xmbew-xkonto.
MOVE organ-bukrs TO xmbew-bukrs.
MOVE organ-butxt TO xmbew-butxt.
MODIFY xmbew.
ENDLOOP.
SORT xmbew BY matnr bwkey bwtar.
CLEAR gebew.
LOOP AT xmbew.
IF NOT keinzel IS INITIAL OR xmbew-bwtty IS INITIAL.
CHECK xmbew-bwtar IS INITIAL.
ELSEIF keinzel IS INITIAL AND NOT xmbew-bwtty IS INITIAL.
IF pruef IS INITIAL.
CHECK NOT xmbew-bwtar IS INITIAL.
ELSEIF NOT pruef IS INITIAL.
READ TABLE gebew WITH KEY matnr = xmbew-matnr
bwkey = xmbew-bwkey.
IF sy-subrc IS INITIAL.
CLEAR header_change. REFRESH header_change.
objekt = 'MATERIAL'.
objektid = gebew-matnr.
CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'
EXPORTING
objectclass = objekt
objectid = objektid
TABLES
i_cdhdr = header_change
EXCEPTIONS
no_position_found = 1
OTHERS = 2.
IF sy-subrc IS INITIAL.
CLEAR item_change. REFRESH item_change.
LOOP AT header_change.
nummer = header_change-changenr.
tabname = 'MBEW'.
tabkey(3) = sy-mandt.
tabkey+3(18) = gebew-matnr.
tabkey+21(4) = gebew-bwkey.
CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'
EXPORTING
changenumber = nummer
tablename = tabname
tablekey = tabkey
importing
header = icdpos
TABLES
editpos = item_change
EXCEPTIONS
no_position_found = 1
OTHERS = 2.
LOOP AT item_change.
CHECK item_change-fname EQ 'BWTTY'
AND item_change-f_old EQ space
AND item_change-f_new NE space.
xsumme = 'X'.
CLEAR item_change.
ENDLOOP.
ENDLOOP.
ENDIF.
ENDIF.
IF xsumme IS INITIAL.
CHECK NOT xmbew-bwtar IS INITIAL.
ELSEIF NOT xsumme IS INITIAL.
CHECK xmbew-bwtar IS INITIAL.
ENDIF.
ENDIF.
ENDIF.
MOVE-CORRESPONDING xmbew TO bestand.
MOVE xmbew-xkonto TO bestand-konts.
READ TABLE it030 WITH KEY konts = bestand-konts.
MOVE it030-txt50 TO bestand-txt50.
READ TABLE xmarav WITH KEY matnr = xmbew-matnr BINARY SEARCH.
MOVE xmarav-meins TO bestand-meins.
MOVE xmarav-maktx TO bestand-maktx.
MOVE xmarav-lvorm TO bestand-lvorx.
APPEND bestand.
ENDLOOP.
ENDFORM. " SELEKTION_BEARBEITEN
*&----
*
*& Form USER_COMMAND *
*&----
*
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
no details possible for function sums only "n497391
IF NOT summen IS INITIAL. "n497391
This function is not possible "n497391
MESSAGE e127(00). "n497391
ENDIF. "n497391
PERFORM listausgabe_bestand.
CASE r_ucomm.
WHEN '9BST'.
ucomm = sy-ucomm.
CLEAR detail. REFRESH detail.
READ TABLE saldo INDEX rs_selfield-tabindex.
the cursor must be on a line with a stock account "n525339
IF sy-subrc IS INITIAL AND "n525339
rs_selfield-tabname = 'SALDO'. "n525339
LOOP AT bestand WHERE bukrs = saldo-bukrs
AND konts = saldo-konto.
MOVE-CORRESPONDING bestand TO detail.
The posting period is determined per account when creating
SALDO. The entry in BESTAND is therefore emtpy.
detail-buper = saldo-buper. "211416
APPEND detail.
ENDLOOP.
SORT detail BY bwkey matnr.
PERFORM listausgabe_bestand.
ELSE.
MESSAGE e847 WITH text-041.
Bitte Cursor auf & positionieren
Text-041: gültiges Sachkonto
ENDIF.
CLEAR saldo.
CLEAR r_ucomm.
WHEN '9MAT'.
If the previous period or the previous year has been "n897018
selected, send an information message when the "n897018
transaction "MMBE - Stock * overview" is called because "n897018
this transaction only shows the current stock. "n897018
IF vmsaldo = 'X' OR vjsaldo = 'X'. "n897018
MESSAGE i895 WITH text-t04. "n897018
ENDIF. "n897018
***
READ TABLE detail INDEX rs_selfield-tabindex.
IF sy-subrc IS INITIAL.
DATA: l_lgort LIKE mseg-lgort,
l_charg LIKE mseg-charg.
CLEAR: l_lgort, l_charg.
SET PARAMETER ID 'MAT' FIELD detail-matnr.
SET PARAMETER ID 'WRK' FIELD detail-bwkey.
SET PARAMETER ID 'LAG' FIELD l_lgort.
SET PARAMETER ID 'CHA' FIELD l_charg.
CALL TRANSACTION 'MMBE' AND SKIP FIRST SCREEN.
ELSE.
MESSAGE s219.
Bitte positionieren Sie den Cursor auf das gewünschte Material
ENDIF.
CLEAR detail-matnr.
CLEAR detail-bwkey.
CLEAR r_ucomm.
***
WHEN '9EWP'.
PERFORM listausgabe_pruefung.
CLEAR r_ucomm.
ENDCASE.
ENDFORM. " USER_COMMAND
*&----
*
*& Form SUMMEN_BILDEN
*&----
*
Summen pro Buchungskreis und Sachkonto
*----
*
FORM summen_bilden.
SORT bestand BY bukrs konts.
LOOP AT bestand.
saldo-mabtr = saldo-mabtr + bestand-salk3.
MOVE bestand-bukrs TO saldo-bukrs.
MOVE bestand-butxt TO saldo-butxt.
MOVE bestand-konts TO saldo-konto.
MOVE bestand-txt50 TO saldo-txt50.
MOVE bestand-waers TO saldo-waers.
MOVE bestand-waers TO saldo-waer1.
MOVE bestand-waers TO saldo-waer2.
fill working area for possible error case "n631251
IF g_s_err_acc-flag IS INITIAL. "n631251
IF NOT bestand-salk3 IS INITIAL. "n631251
take the first material with a value of this "n631251
group ( account ) as an example "n631251
MOVE-CORRESPONDING bestand "n631251
TO g_s_err_acc. "n631251
MOVE x TO g_s_err_acc-flag. "n631251
ENDIF. "n631251
ENDIF. "n631251
AT END OF konts.
CALL FUNCTION 'FOR_ALL_SKC1A'
EXPORTING
xbukrs = bestand-bukrs
xsaknr = bestand-konts
TABLES
xskc1a = intab
EXCEPTIONS
key_incomplete = 01
not_authorized = 02
not_found = 03.
IF sy-subrc = 02.
MESSAGE s460(f5) WITH bestand-bukrs. "note 427068
Sie haben keine Berechtigung für Buchungskreis & "note 427068
message s120 with bestand-konts.
PERFORM anforderungsbild.
ELSEIF sy-subrc = 03 AND NOT saldo-mabtr IS INITIAL.
account not found but there are values "n631251
improve handling when G/L account is missing "n631251
save the data in working table g_t_err_acc "n631251
APPEND g_s_err_acc TO g_t_err_acc. "n631251
ENDIF.
ON CHANGE OF bestand-bukrs.
READ TABLE organ WITH KEY bukrs = bestand-bukrs.
PERFORM periode.
ENDON.
LOOP AT intab.
CHECK intab-gjahr = xbuper+3(4).
ADD intab-um01h THEN intab-um02h UNTIL intab-um16h
GIVING haben ACCORDING TO bermon.
ADD intab-um01s THEN intab-um02s UNTIL intab-um16s
GIVING soll ACCORDING TO bermon.
saldo-skbtr = saldo-skbtr + intab-umsav + soll - haben.
ENDLOOP.
CLEAR intab. REFRESH intab.
move xsaldo to saldo-vmsal.
saldo-diff = saldo-skbtr - saldo-mabtr.
saldo-buper = xbuper.
APPEND saldo.
CLEAR saldo.
delete working area for possible errors "n631251
CLEAR g_s_err_acc. "n631251
ENDAT.
ENDLOOP.
LOOP AT saldo.
Farbinformation:
CLEAR color.
REFRESH color.
IF saldo-mabtr >= 0.
color-fieldname = 'MABTR'.
color-color-col = '5'.
color-color-int = '0'.
APPEND color.
color-fieldname = 'WAERS'.
color-color-col = '5'.
color-color-int = '0'.
APPEND color.
ELSEIF saldo-mabtr < 0.
color-fieldname = 'MABTR'.
color-color-col = '6'.
color-color-int = '0'.
APPEND color.
color-fieldname = 'WAERS'.
color-color-col = '6'.
color-color-int = '0'.
APPEND color.
ENDIF.
IF saldo-skbtr >= 0.
color-fieldname = 'SKBTR'.
color-color-col = '5'.
color-color-int = '0'.
APPEND color.
color-fieldname = 'WAER1'.
color-color-col = '5'.
color-color-int = '0'.
APPEND color.
ELSEIF saldo-skbtr < 0.
color-fieldname = 'SKBTR'.
color-color-col = '6'.
color-color-int = '0'.
APPEND color.
color-fieldname = 'WAER1'.
color-color-col = '6'.
color-color-int = '0'.
APPEND color.
ENDIF.
IF saldo-diff = 0.
color-fieldname = 'DIFF'.
color-color-col = '5'.
color-color-int = '0'.
APPEND color.
color-fieldname = 'WAER2'.
color-color-col = '5'.
color-color-int = '0'.
APPEND color.
ELSEIF saldo-diff <> 0.
color-fieldname = 'DIFF'.
color-color-col = '6'.
color-color-int = '0'.
APPEND color.
color-fieldname = 'WAER2'.
color-color-col = '6'.
color-color-int = '0'.
APPEND color.
ENDIF.
saldo-farbe = color[].
MODIFY saldo.
ENDLOOP.
ENDFORM. " SUMMEN_BILDEN
*&----
*
*& Form FELDKATALOG_SALDO
*&----
*
text
*----
*
-->P_FIELDCAT[] text *
*----
*
FORM feldkatalog_saldo USING p_fieldcat TYPE slis_t_fieldcat_alv.
DATA: fieldcat TYPE slis_fieldcat_alv.
Kopffelder:
CLEAR fieldcat.
fieldcat-fieldname = 'BUPER'. "
fieldcat-tabname = 'HEADER'.
fieldcat-key = 'X'.
fieldcat-seltext_s = text-070.
fieldcat-seltext_m = text-070.
fieldcat-seltext_l = text-070.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'BUKRS'. "
fieldcat-tabname = 'HEADER'.
fieldcat-ref_tabname = 'T001'.
fieldcat-key = 'X'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'BUTXT'. "
fieldcat-tabname = 'HEADER'.
fieldcat-ref_tabname = 'T001'.
fieldcat-key = 'X'.
fieldcat-key_sel = 'X'.
fieldcat-no_out = 'X'.
APPEND fieldcat TO p_fieldcat.
Positionsfelder:
CLEAR fieldcat.
fieldcat-fieldname = 'KONTO'. "
fieldcat-tabname = 'SALDO'.
fieldcat-ref_fieldname = 'KONTS'.
fieldcat-ref_tabname = 'T030'.
fieldcat-key = 'X'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'TXT50'. "
fieldcat-tabname = 'SALDO'.
fieldcat-ref_tabname = 'SKAT'.
fieldcat-key = 'X'.
fieldcat-key_sel = 'X'.
fieldcat-no_out = 'X'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'MABTR'. "
fieldcat-tabname = 'SALDO'.
fieldcat-ref_fieldname = 'SALK3'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-cfieldname = 'WAERS'.
fieldcat-do_sum = 'X'.
fieldcat-seltext_s = text-080.
fieldcat-seltext_m = text-080.
fieldcat-seltext_l = text-080.
fieldcat-reptext_ddic = text-080. "433493
extend field definition of sum fields "n497391
fieldcat-outputlen = 21. "n497391
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'WAERS'. "
fieldcat-tabname = 'SALDO'.
fieldcat-ref_tabname = 'T001'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'SKBTR'. "
fieldcat-tabname = 'SALDO'.
fieldcat-ref_fieldname = 'SALK3'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-cfieldname = 'WAER1'.
fieldcat-do_sum = 'X'.
fieldcat-seltext_s = text-083.
fieldcat-seltext_m = text-083.
fieldcat-seltext_l = text-083.
fieldcat-reptext_ddic = text-083. "433493
extend field definition of sum fields "n497391
fieldcat-outputlen = 21. "n497391
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'WAER1'. "
fieldcat-tabname = 'SALDO'.
fieldcat-ref_fieldname = 'WAERS'.
fieldcat-ref_tabname = 'T001'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'DIFF'. "
fieldcat-tabname = 'SALDO'.
fieldcat-ref_fieldname = 'SALK3'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-cfieldname = 'WAER2'.
fieldcat-do_sum = 'X'.
fieldcat-seltext_s = text-086.
fieldcat-seltext_m = text-086.
fieldcat-seltext_l = text-086.
fieldcat-reptext_ddic = text-086. "433493
extend field definition of sum fields "n497391
fieldcat-outputlen = 21. "n497391
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'WAER2'. "
fieldcat-tabname = 'SALDO'.
fieldcat-ref_fieldname = 'WAERS'.
fieldcat-ref_tabname = 'T001'.
APPEND fieldcat TO p_fieldcat.
note 136652
DATA: noout.
IF matlines IS INITIAL.
noout = 'X'.
ELSE.
CLEAR noout.
ENDIF.
CLEAR fieldcat.
fieldcat-fieldname = 'BWKEY'.
fieldcat-tabname = 'SALDO'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-no_out = noout.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'MATNR'.
fieldcat-tabname = 'SALDO'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-no_out = noout.
APPEND fieldcat TO p_fieldcat.
material short text always hidden "n407181
CLEAR fieldcat. "n407181
fieldcat-fieldname = 'MAKTX'. "n407181
fieldcat-tabname = 'SALDO'. "n407181
fieldcat-ref_tabname = 'MAKT'. "n407181
fieldcat-no_out = 'X'. "n407181
APPEND fieldcat TO p_fieldcat. "n407181
CLEAR fieldcat.
fieldcat-fieldname = 'LBKUM'.
fieldcat-tabname = 'SALDO'.
fieldcat-qfieldname = 'MEINS'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-no_out = noout.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'MEINS'.
fieldcat-tabname = 'SALDO'.
fieldcat-ref_tabname = 'MARA'.
fieldcat-no_out = noout.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'SALK3'.
fieldcat-tabname = 'SALDO'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-cfieldname = 'WAERS1'.
fieldcat-no_out = noout.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'WAERS1'.
fieldcat-tabname = 'SALDO'.
fieldcat-ref_tabname = 't001'.
fieldcat-ref_fieldname = 'WAERS'.
fieldcat-no_out = noout.
APPEND fieldcat TO p_fieldcat.
note 136652
ENDFORM. " FELDKATALOG_SALDO
*&----
*
*& Form LISTAUSGABE_SALDO
*&----
*
text
*----
*
FORM listausgabe_saldo.
SORT saldo BY bukrs konto.
LOOP AT saldo.
ON CHANGE OF saldo-bukrs.
MOVE saldo-buper TO header-buper.
MOVE saldo-bukrs TO header-bukrs.
MOVE saldo-butxt TO header-butxt.
APPEND header.
ENDON.
ENDLOOP.
alv_keyinfo-header01 = 'BUKRS'.
alv_keyinfo-item01 = 'BUKRS'.
alv_keyinfo-item02 = 'KONTO1'.
note 136652
IF NOT matlines IS INITIAL.
DATA: BEGIN OF saldo1 OCCURS 0.
INCLUDE STRUCTURE saldo.
DATA: END OF saldo1.
alv_keyinfo-header01 = 'BUKRS'.
alv_keyinfo-item01 = 'BUKRS1'.
alv_keyinfo-item02 = 'KONTO1'.
alv_keyinfo-item03 = 'BWKEY'.
alv_keyinfo-item04 = 'MATNR'.
saldo1[] = saldo[].
REFRESH saldo.
SORT saldo1 BY bukrs konto.
SORT bestand BY bukrs konts matnr.
LOOP AT saldo1.
saldo = saldo1.
saldo-bukrs1 = saldo-bukrs.
saldo-konto1 = saldo-konto.
APPEND saldo.
LOOP AT bestand WHERE bukrs = saldo1-bukrs
AND konts = saldo1-konto.
CLEAR saldo.
saldo-bukrs1 = bestand-bukrs.
saldo-konto1 = bestand-konts.
saldo-bwkey = bestand-bwkey.
saldo-matnr = bestand-matnr.
copy the material short text "n407181
MOVE bestand-maktx TO saldo-maktx. "n407181
saldo-lbkum = bestand-lbkum.
saldo-meins = bestand-meins.
saldo-salk3 = bestand-salk3.
saldo-waers1 = bestand-waers.
APPEND saldo.
ENDLOOP.
ENDLOOP.
ENDIF.
note 136652
layout = alv_layout.
layout-coltab_fieldname = 'FARBE'.
layout-f2code = '9BST'.
assign a form routine for the process time top-of-page "n497391
MOVE : 'TOP_OF_PAGE' TO g_s_event-name, "n497391
'F1000_TOP_OF_PAGE' TO g_s_event-form. "n497391
APPEND g_s_event TO g_t_event. "n497391
assign form routine for the output of account errors "n631251
MOVE : 'END_OF_LIST' TO g_s_event-name, "n631251
'F1100_END_OF_LIST' TO g_s_event-form. "n631251
APPEND g_s_event TO g_t_event. "n631251
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
i_callback_program = alv_repid
i_callback_pf_status_set = 'STATUS_S'
i_callback_user_command = 'USER_COMMAND'
is_layout = layout
it_fieldcat = fieldcat_s[]
it_events = g_t_event[] "n497391
i_default = 'X'
i_save = 'A'
is_variant = alv_variant
i_tabname_header = 'HEADER'
i_tabname_item = 'SALDO'
is_keyinfo = alv_keyinfo
is_print = alv_print
TABLES
t_outtab_header = header
t_outtab_item = saldo.
ENDFORM. " LISTAUSGABE_SALDO
*&----
*
*& Form ERWEITERTE_PRUEFUNG
*&----
*
Erweiterte Prüfung bei getrennter Bewertung
*----
*
FORM erweiterte_pruefung.
SORT xmbew BY matnr bwkey bwtar.
LOOP AT xmbew.
IF NOT xmbew-bwtty IS INITIAL AND xmbew-no_sum IS INITIAL.
IF xmbew-bwtar IS INITIAL.
gebew-summe_wert = xmbew-salk3.
gebew-summe_bestand = xmbew-lbkum.
ELSEIF NOT xmbew-bwtar IS INITIAL.
gebew-einzel_wert = gebew-einzel_wert + xmbew-salk3.
gebew-einzel_bestand = gebew-einzel_bestand + xmbew-lbkum.
ENDIF.
ENDIF.
AT END OF bwkey.
IF gebew-summe_wert NE gebew-einzel_wert OR
gebew-summe_bestand NE gebew-einzel_bestand.
MOVE-CORRESPONDING xmbew TO gebew.
READ TABLE organ WITH KEY bwkey = xmbew-bwkey.
MOVE organ-waers TO gebew-waers.
MOVE organ-waers TO gebew-waer1.
READ TABLE xmarav WITH KEY matnr = xmbew-matnr BINARY SEARCH.
copy the material short text if the entry exists "n407181
IF sy-subrc IS INITIAL. "n407181
MOVE xmarav-maktx TO gebew-maktx. "n407181
MOVE xmarav-meins TO gebew-meins. "n407181
MOVE xmarav-meins TO gebew-mein1. "n407181
ENDIF. "n407181
APPEND gebew.
ENDIF.
CLEAR gebew.
ENDAT.
ENDLOOP.
SORT gebew.
ENDFORM. " ERWEITERTE_PRUEFUNG
*&----
*
*& Form LISTAUSGABE_PRUEFUNG
*&----
*
text
*----
*
FORM listausgabe_pruefung.
layout = alv_layout.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = alv_repid
i_callback_pf_status_set = 'STATUS_P'
i_callback_user_command = 'USER_COMMAND'
is_layout = layout
it_fieldcat = fieldcat_p[]
is_print = alv_print
TABLES
t_outtab = gebew.
ENDFORM. " LISTAUSGABE_PRUEFUNG
*&----
*
*& Form FELDKATALOG_PRUEFUNG
*&----
*
text
*----
*
-->P_FIELDCAT_P[] text *
*----
*
FORM feldkatalog_pruefung USING p_fieldcat TYPE slis_t_fieldcat_alv.
DATA: fieldcat TYPE slis_fieldcat_alv.
Positionsfelder:
CLEAR fieldcat.
fieldcat-fieldname = 'MATNR'. "
fieldcat-tabname = 'GEBEW'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-key = 'X'.
fieldcat-col_pos = '1'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'BWKEY'. "
fieldcat-tabname = 'GEBEW'.
fieldcat-ref_tabname = 'MBEW'.
fieldcat-key = 'X'.
fieldcat-col_pos = '2'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'EINZEL_WERT'. "
fieldcat-tabname = 'GEBEW'.
fieldcat-col_pos = '3'.
fieldcat-outputlen = '11'.
fieldcat-cfieldname = 'WAERS'.
fieldcat-seltext_s = text-088.
fieldcat-seltext_m = text-089.
fieldcat-seltext_l = text-090.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'WAERS'.
fieldcat-tabname = 'GEBEW'.
fieldcat-ref_tabname = 'T001'.
fieldcat-col_pos = '4'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'SUMME_WERT'. "
fieldcat-tabname = 'GEBEW'.
fieldcat-col_pos = '5'.
fieldcat-outputlen = '11'.
fieldcat-cfieldname = 'WAER1'.
fieldcat-seltext_s = text-091.
fieldcat-seltext_m = text-092.
fieldcat-seltext_l = text-093.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'WAER1'.
fieldcat-tabname = 'GEBEW'.
fieldcat-ref_fieldname = 'WAERS'.
fieldcat-ref_tabname = 'T001'.
fieldcat-col_pos = '6'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'EINZEL_BESTAND'. "
fieldcat-tabname = 'GEBEW'.
fieldcat-col_pos = '7'.
fieldcat-outputlen = '11'.
fieldcat-qfieldname = 'MEINS'.
fieldcat-seltext_s = text-094.
fieldcat-seltext_m = text-095.
fieldcat-seltext_l = text-096.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'MEINS'.
fieldcat-tabname = 'GEBEW'.
fieldcat-ref_tabname = 'MARA'.
fieldcat-col_pos = '8'.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'SUMME_BESTAND'. "
fieldcat-tabname = 'GEBEW'.
fieldcat-col_pos = '9'.
fieldcat-outputlen = '11'.
fieldcat-qfieldname = 'MEIN1'.
fieldcat-seltext_s = text-097.
fieldcat-seltext_m = text-098.
fieldcat-seltext_l = text-099.
APPEND fieldcat TO p_fieldcat.
CLEAR fieldcat.
fieldcat-fieldname = 'MEIN1'.
fieldcat-tabname = 'GEBEW'.
fieldcat-ref_fieldname = 'MEINS'.
fieldcat-ref_tabname = 'MARA'.
fieldcat-col_pos = '10'.
APPEND fieldcat TO p_fieldcat.
material short text always hidden "n407181
CLEAR fieldcat. "n407181
fieldcat-fieldname = 'MAKTX'. "n407181
fieldcat-tabname = 'GEBEW'. "n407181
fieldcat-ref_tabname = 'MAKT'. "n407181
fieldcat-col_pos = '11'. "n407181
fieldcat-no_out = 'X'. "n407181
APPEND fieldcat TO p_fieldcat. "n407181
ENDFORM. " FELDKATALOG_PRUEFUNG
*&----
*
*& Form STATUS_P
*&----
*
FORM status_p USING extab TYPE slis_t_extab.
SET PF-STATUS 'PRUEFPROT' EXCLUDING extab.
ENDFORM. " STATUS_P
*----
-
"n497391
"n497391
*&----
*
*& Form f1000_top_of_page
*&----
*
text
*----
*
FORM f1000_top_of_page. "n497391
"n497391
print warning at the top of the page "n497391
CHECK : g_flag_warning_m7375 = 'X'. "n497391
"n497391
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' "n497391
EXPORTING "n497391
it_list_commentary = g_t_listheader[]. "n497391
"n497391
ENDFORM. "f1000_top_of_page "n497391
"n497391
*----
-
"n497391
*----
-
"n486477
tpc_check_period_for_all_CC "n486477
*----
-
"n486477
"n486477
special time depending authorization for auditor "n486477
"n486477
*&----
*
*& Form tpc_check_period_for_all_CC
*&----
*
text
*----
*
FORM tpc_check_period_for_all_cc. "n486477
"n486477
DATA : l_f_buper LIKE bbseg-abper, "n486477
l_s_marv LIKE marv. "n486477
"n486477
clear working aeras and ranges "n486477
CLEAR : g_s_bukrs, g_s_t001k. "n486477
REFRESH : g_t_bukrs, g_t_t001k. "n486477
"n486477
IF bwkey[] IS INITIAL. "n486477
no restrictions for valuation : "n486477
get all matching company codes from table T001 "n486477
SELECT bukrs FROM t001 "n486477
INTO CORRESPONDING FIELDS OF TABLE g_t_bukrs "n486477
WHERE bukrs IN bukrs. "n486477
"n486477
IF sy-subrc <> 0. "n486477
SET CURSOR FIELD 'BUKRS-LOW'. "n486477
Company code does not exist "n486477
MESSAGE e282. "n486477
ENDIF. "n486477
ELSE. "n486477
select all matching valuation areas and look for the "n486477
corresponding company codes "n486477
SELECT bukrs FROM t001k "n486477
INTO CORRESPONDING FIELDS OF TABLE g_t_bukrs "n486477
WHERE bwkey IN bwkey "n486477
AND bukrs IN bukrs. "n486477
"n486477
IF sy-subrc IS INITIAL. "n486477
SORT g_t_bukrs BY bukrs. "n486477
DELETE ADJACENT DUPLICATES FROM g_t_bukrs. "n486477
ELSE. "n486477
SET CURSOR FIELD 'BWKEY-LOW'. "n486477
MESSAGE e884. "Valuation area does not exist "n486477
ENDIF. "n486477
ENDIF. "n486477
"n486477
check the selected company codes and the dates "n486477
LOOP AT g_t_bukrs INTO g_s_bukrs. "n486477
"n486477
read the matching MARV entry for this company code "n486477
CALL FUNCTION 'MARV_SINGLE_READ' "n486477
EXPORTING "n486477
bukrs = g_s_bukrs-bukrs "n486477
IMPORTING "n486477
wmarv = l_s_marv "n486477
EXCEPTIONS "n486477
not_found = 1 "n486477
wrong_call = 2 "n486477
OTHERS = 3. "n486477
"n486477
IF sy-subrc <> 0. "n486477
material control record missing in company code & "n486477
SET CURSOR FIELD 'BUKRS-LOW'. "n486477
MESSAGE e176 WITH g_s_bukrs-bukrs. "n486477
ENDIF. "n486477
"n486477
get the posting period for the authority check "n486477
depending on the selected period "n486477
Begin of change by os0800
IF NOT aksaldo IS INITIAL. "n486477
current period "n486477
MOVE : l_s_marv-lfmon TO l_f_buper+5(2), "n486477
'/' TO l_f_buper+4(1), "n486477
l_s_marv-lfgja TO l_f_buper+0(4). "n486477
"n486477
ELSEIF NOT vmsaldo IS INITIAL. "n486477
previous period "n486477
MOVE : l_s_marv-vmmon TO l_f_buper+5(2), "n486477
'/' TO l_f_buper+4(1), "n486477
l_s_marv-vmgja TO l_f_buper+0(4). "n486477
"n486477
ELSEIF NOT vjsaldo IS INITIAL. "n486477
previous year "n486477
MOVE : l_s_marv-vjmon TO l_f_buper+5(2), "n486477
'/' TO l_f_buper+4(1), "n486477
l_s_marv-vjgja TO l_f_buper+0(4). "n486477
ENDIF. "n486477 **********end of change by os0800
End of change by os0800
check the authorization for date and company code "n486477
CALL FUNCTION 'FI_CHECK_DATE' "n486477
EXPORTING "n486477
i_bukrs = g_s_bukrs-bukrs "n486477
i_user = sy-uname "n486477
i_program = g_f_repid "n486477
i_from_per = l_f_buper "n486477
EXCEPTIONS "n486477
no_authority_prog = 1 "n486477
no_authority_date = 2 "n486477
wrong_parameter = 3 "n486477
OTHERS = 4. "n486477
"n486477
CASE sy-subrc. "n486477
WHEN 0. "n486477
authorization ok --> take this company code "n486477
"n486477
WHEN 2. "n486477
send 2 messages to show the company code "n486477
SET CURSOR FIELD 'BUKRS-LOW'. "n486477
no display authorization for company code & "n486477
MESSAGE i113(fg) WITH g_s_bukrs-bukrs. "n486477
"n486477
SET CURSOR FIELD 'BWKEY-LOW'. "n486477
Keine Berechtigung zur Anzeige von Daten aus ... "n486477
MESSAGE e002(ca_check_date). "n486477
"n486477
WHEN OTHERS. "n486477
an error occurred "n486477
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno "n486477
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. "n486477
ENDCASE. "n486477
ENDLOOP. "n486477
"n486477
FREE : g_t_bukrs, g_t_t001k. "n486477
"n486477
ENDFORM. "tpc_check_period_for_all_CC "n486477
"n486477
*----
-
"n486477
tpc_write_log "n555246
*----
-
"n555246
"n555246
*&----
*
*& Form tpc_write_log
*&----
*
text
*----
*
FORM tpc_write_log. "n555246
"n555246
check whether the function module is available "n555246
CALL FUNCTION 'FUNCTION_EXISTS' "n555246
EXPORTING "n555246
funcname = 'CA_WRITE_LOG' "n555246
EXCEPTIONS "n555246
function_not_exist = 1 "n555246
OTHERS = 2. "n555246
"n555246
CHECK : sy-subrc IS INITIAL. "n555246
"n555246
write the entries of the selection screen into log file "n555246
CALL FUNCTION 'CA_WRITE_LOG' "#EC EXISTS "n555246
EXPORTING "n555246
i_program = g_f_repid "n555246
EXCEPTIONS "n555246
write_error = 1 "n555246
OTHERS = 2. "n555246
"n555246
IF sy-subrc IS INITIAL. "n555246
COMMIT WORK. "n555246
ELSE. "n555246
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno "n555246
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. "n555246
ENDIF. "n555246
"n555246
ENDFORM. "tpc_write_log "n555246
"n555246
*----
-
"n555246
*----
-
"n631251
f1100_end_of_list "n631251
*----
-
"n631251
"n631251
*&----
*
*& Form f1100_end_of_list
*&----
*
text
*----
*
FORM f1100_end_of_list. "n631251
"n631251
print the detected errors with missing stock accounts "n631251
and one material as an example "n631251
"n631251
go on when missing accounts detected "n631251
CHECK NOT g_t_err_acc[] IS INITIAL. "n631251
DATA : l_text(255) TYPE c. "n631251
"n631251
FORMAT COLOR COL_NEGATIVE. "print in red color "n631251
"n631251
LOOP AT g_t_err_acc INTO g_s_err_acc. "n631251
SKIP 1. "n631251
"n631251
complete message FH 005 with account and company code "n631251
Account &1 does not exist in company code &2 "n631251
MESSAGE i005(fh) "n631251
WITH g_s_err_acc-konts g_s_err_acc-bukrs "n631251
INTO l_text. "n631251
WRITE : /1 l_text. "n631251
"n631251
print a line with a material number as example "n631251
CONCATENATE "n631251
text-001 "G/L accnt is missing for val. segment "n631251
g_s_err_acc-matnr "n631251
g_s_err_acc-bwkey "n631251
g_s_err_acc-bwtar "n631251
INTO l_text SEPARATED BY space. "n631251
CONDENSE l_text. "n631251
WRITE : /1 l_text. "n631251
ENDLOOP. "n631251
"n631251
FORMAT RESET. "n631251
"n631251
ENDFORM. "f1100_end_of_list "n631251
"n631251
Start of change by os0800
*&----
*
*& Form get_dates
*&----
*
used to calculate first day and last day of the given period *
*----
*
FORM get_dates .
v_year = sl_spbup-low+0(4).
v_period = sl_spbup-low+4(2).
v_year1 = sl_spbup-high+0(4).
v_period1 = sl_spbup-high+4(2).
CALL FUNCTION 'FIRST_DAY_IN_PERIOD_GET'
EXPORTING
i_gjahr = v_year
I_MONMIT = 00
i_periv = 'KO'
i_poper = v_period
IMPORTING
e_date = v_first_date
EXCEPTIONS
INPUT_FALSE = 1
T009_NOTFOUND = 2
T009B_NOTFOUND = 3
OTHERS = 4
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF sl_spbup-high IS INITIAL .
CALL FUNCTION 'LAST_DAY_IN_PERIOD_GET'
EXPORTING
i_gjahr = v_year
I_MONMIT = 00
i_periv = 'KO'
i_poper = v_period
IMPORTING
e_date = v_last_date
EXCEPTIONS
INPUT_FALSE = 1
T009_NOTFOUND = 2
T009B_NOTFOUND = 3
OTHERS = 4
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
s_budat-sign = 'I'.
s_budat-option = 'BT'.
s_budat-low = v_first_date.
s_budat-high = v_last_date.
APPEND s_budat.
CLEAR s_budat.
ELSEIF sl_spbup-high IS NOT INITIAL .
CALL FUNCTION 'LAST_DAY_IN_PERIOD_GET'
EXPORTING
i_gjahr = v_year1
I_MONMIT = 00
i_periv = 'KO'
i_poper = v_period1
IMPORTING
e_date = v_last_date1
EXCEPTIONS
INPUT_FALSE = 1
T009_NOTFOUND = 2
T009B_NOTFOUND = 3
OTHERS = 4
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
s_budat-sign = 'I'.
s_budat-option = 'BT'.
s_budat-low = v_first_date.
s_budat-high = v_last_date1.
APPEND s_budat.
CLEAR s_budat.
ENDIF.
ENDFORM. " get_dates
End of chnage by os0800.
2007 Feb 16 10:20 AM
2007 Feb 16 10:24 AM
Hi All,
I will explain my problem clearly now. I am calling a transaction suppose t1 thru submit and return where as t1 is calling another transaction suppose t2 with submit and return. Now After executing my program i am getting t1 then t2 screens.When i am executing F3 from t2 it is getting the screen of t1 and there again ifu choose F3 then it is calling the selection screen of t1. I think this is because of using submit and return in t1 .Am I thinking in the right way. If so what is the solution for not getting the selection screen of t1.Please help me
Thanks &Regards ,
praveena.
2007 Feb 16 10:42 AM
Hi Sri Praveena,
If you call T2 from T1 using statement Submit T2 and return, then you will automatically get display list of T1 when u press F3 button.
If you want that T1 should not get displayed again, dont use AND RETURN. Just SUBMIT T2 from T1.
Regards,
Navin
2007 Feb 16 11:46 AM
Hi All,
I am calling a transaction suppose t1 thru submit and return where as t1 is calling another transaction suppose t2 with submit and return. Now After executing my program i am getting t1 then t2 screens.When i am executing F3 from t2 it is getting the screen of t1 and there again ifu choose F3 then it is calling the selection screen of t1. I think this is because of using submit and return in t1 .Am I thinking in the right way. If so what is the solution for not getting the selection screen of t1.Please help me
Thanks &Regards ,
praveena.