Creation of Maintaince View
Hi,
I would like to create a Maintaince View. In SE11 I selected View option after that I selected Maintaince View option. Then I have given the Name of the table . But it is taking only one table name. remaing fields are in the disable mode.
How to create a Maintaince View for a table?
Is there any differece between table maintaince generator and Maintaince view for a table or both or same for a single table ?
What is the use real use of mainataince view ?
Regards,
Satya
create a maintanance view using two tables using default navigations and activate (ignore wornings)
click on "utilities"menu.
table maintanance generator
opens an interface,set the authourization group as "ates"
specify name of function group(name of the function group)where code should be generated
select the maintanance type as "one step"
specify the screen number(s11) in overview screen field
click on "create" from application toolbar
save the objects under a package with request number
add prompts a message as "request completed without errors".
this view cant be accessed directly by abap reports,as these are designed for mpp.
test the maintanance view code created properly or not using "se54" tcode.
regards,
usha.
Similar Messages
-
Maintaince view creation for a cluster table
Hi friends,
I have created a maintaince view for a cluster table bseg and i have activated it its working fine..
now my problem is i can create maintaince view for mutiple tables if other tables are linked with primary table using foriegn key relationship..
Now can any one tell me is it possible to create maintance view for cluster table with multiple tables as i need a linked table with bseg which iam not able to get... ie : when i click on the relationship tab iam not getting the linked tables for bseg...
now can i create a maintaince view with 2 linked cluster tables..
if so can any one tell me how to create it.
As sap says we can create projection view for cluster and pooled table and we cannot create database view for cluster and pooled tables , but it does not mentioned like that for maintaince view....
I assume we can do it.... as iam trying to create a maintaince view with single cluster table then it shoudl allow me to create for multiple linked cluster tables.... and is it mandatory to maintain TMG for this maintaince view....?
Regards
KUMARyes.. ur right inserting values into a cluster table other than standard sap tarnactions is dangerious....
But sap didnot mentioned any where that we cannot maintain data for cluster tables using maintaince view... which it said for database view..that pooled and cluster table cannot be used for database view..
Regards
Kumar -
How to include maintaince view in da report
I did a report for Audit Inventory Ageing Company-wise Summary i am getting the output of the report well. what I need is that i should include a field WGBEZ of the maintaince view V023 so that to display material group description. where & how should i write the code in my code. kindly give suggestions. i here with attaching my code.
Title : Aged Stock
Description : 'Audit Inventory Ageing Company-wise Summary
REPORT ZMMR0024MOD LINE-SIZE 170 NO STANDARD PAGE HEADING .
TYPE-POOLS : SLIS.
TABLES : T001,
T023,
T001K,
MARA,
marv,
MAKT,
MBEW,
MSEG,
ekpo.
Constants
CONSTANTS : GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
'TOP_OF_PAGE'.
Internal Tables
DATA : BEGIN OF GT_FINAL OCCURS 0,
MATKL LIKE MARA-MATKL,
MATNR LIKE MARA-MATNR,
WGBEZ LIKE V023-WGBEZ,
LBKUM LIKE MBEW-LBKUM,
tot_val type p decimals 2,
MAKTX LIKE MAKT-MAKTX,
tot_amt type p decimals 2,
price type p decimals 2,
meins like mara-meins,
END OF GT_FINAL,
DETAIL_FINAL LIKE GT_FINAL OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF MAT_FINAL OCCURS 0,
MATKL LIKE MARA-MATKL,
TOT_VAL LIKE MSEG-MENGE,
TOT_AMT LIKE MBEW-SALK3,
PRICE LIKE MBEW-SALK3,
meins like mara-meins,
END OF MAT_FINAL.
DATA : BEGIN OF I_MARA OCCURS 0,
MATNR LIKE MARA-MATNR,
MATKL LIKE MARA-MATKL,
MAKTX LIKE MAKT-MAKTX,
WGBEZ LIKE V023-WGBEZ,
MEINS LIKE MARA-MEINS,
LBKUM LIKE MBEWH-LBKUM,
TOT_AMT LIKE MBEW-SALK3,
END OF I_MARA.
DATA : BEGIN OF I_MKPF_MSEG OCCURS 0,
MATNR LIKE MARA-MATNR,
MBLNR LIKE MSEG-MBLNR,
ZEILE LIKE MSEG-ZEILE,
MENGE LIKE MSEG-MENGE,
BWART LIKE MSEG-BWART,
BUDAT LIKE MKPF-BUDAT,
NET_VAL LIKE MSEG-MENGE,
ebeln like mseg-ebeln,
ebelp like mseg-ebelp,
lfbnr like mseg-lfbnr,
lfpos like mseg-lfpos,
SHKZG LIKE MSEG-SHKZG,
meins like mara-meins,
END OF I_MKPF_MSEG,
WA_TEMP LIKE I_MKPF_MSEG.
DATA : BEGIN OF I_MBEWH OCCURS 0,
MATNR LIKE MARA-MATNR,
LBKUM LIKE MBEW-LBKUM,
SALK3 LIKE MBEW-SALK3,
BWKEY LIKE MBEW-BWKEY,
END OF I_MBEWH.
DATA : I_MBEWH1 LIKE I_MBEWH OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF I_TEMP OCCURS 0,
MATNR LIKE MARA-MATNR,
NET_VAL LIKE MSEG-MENGE,
meins like mara-meins,
END OF I_TEMP.
RANGES : RANGE_WERK FOR T001W-WERKS,
RANGE_DATE FOR SY-DATUM,
S_BWTAR FOR BWTAR.
DATA : PERIOD LIKE BAPI0002_4-FISCAL_PERIOD,
FISCAL_YEAR LIKE BAPI0002_4-FISCAL_YEAR,
CUR_VAL LIKE MSEG-MENGE,
NET_VAL LIKE MSEG-MENGE,
TOT_VAL LIKE MSEG-MENGE,
TOT_QTY LIKE MSEG-MENGE,
TOT_AMT1 LIKE MBEW-SALK3,
RES_DATE LIKE SY-DATUM,
NUM LIKE MBEW-SALK3,
UOM LIKE MARA-MEINS.
Data declarations for alv
DATA : GV_PAGE TYPE N VALUE 0.
DATA : GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
GT_SORT TYPE SLIS_T_SORTINFO_ALV,
GT_FILTER TYPE SLIS_T_FILTER_ALV,
GT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV,
GT_EVENTS TYPE SLIS_T_EVENT WITH HEADER LINE,
GV_REPID LIKE SY-REPID,
GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
GV_SAVE(1) TYPE C,
GT_VARIANT LIKE DISVARIANT,
GV_DOMNAME LIKE DD07V-DOMNAME,
GV_DOMVAL LIKE DD07V-DOMVALUE_L,
GW_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
Selection screen
SELECTION-SCREEN BEGIN OF BLOCK SEL WITH FRAME TITLE TEXT-001.
PARAMETERS : GS_BUKRS LIKE T001K-BUKRS OBLIGATORY.
SELECT-OPTIONS : GS_MATKL FOR MARA-MATKL,
GS_MATNR FOR MARA-MATNR.
PARAMETERS : gs_ped like s031-spmon OBLIGATORY,
GS_DAYS(3) TYPE n,
MG1 RADIOBUTTON GROUP GR1,
MT2 RADIOBUTTON GROUP GR1.
SELECTION-SCREEN END OF BLOCK SEL.
Validations on selection screen
AT SELECTION-SCREEN ON GS_BUKRS.
PERFORM F00_VALIDATE_COMPANY_CODE.
AT SELECTION-SCREEN ON GS_MATKL.
IF NOT GS_MATKL[] IS INITIAL.
PERFORM F01_VALIDATE_MATERIAL_GROUP.
ENDIF.
AT SELECTION-SCREEN ON GS_MATNR.
IF NOT GS_MATNR[] IS INITIAL.
PERFORM F01_VALIDATE_MATERIAL.
ENDIF.
AT SELECTION-SCREEN ON GS_days.
if gs_days = ''.
gs_days = 0.
endif.
START-OF-SELECTION.
GV_REPID = SY-REPID.
PERFORM F20_EVENTTAB_BUILD CHANGING GT_EVENTS[].
PERFORM F30_SELECT_PRIMARY_DATA.
IF MG1 = 'X'.
PERFORM F11_DATA_FORMAT_GROUP.
PERFORM F50_MATERIAL_GROUP_DATA.
PERFORM F40_DISPLAY_REPORT TABLES MAT_FINAL.
ELSEIF MT2 = 'X'.
PERFORM F10_DATA_FORMAT_MAT.
PERFORM F40_DISPLAY_REPORT TABLES GT_FINAL.
ENDIF.
*& Form F20_EVENTTAB_BUILD
FORM F20_EVENTTAB_BUILD CHANGING LT_EVENTS TYPE SLIS_T_EVENT.
CONSTANTS: LC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
'TOP_OF_PAGE',
LC_FORMNAME_USER_COMMAND TYPE SLIS_FORMNAME VALUE
'USER_COMMAND'.
DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = LT_EVENTS.
note : lt_events has all the events
READ TABLE LT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE GC_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.
APPEND LS_EVENT TO LT_EVENTS.
ENDIF.
READ TABLE LT_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE LC_FORMNAME_USER_COMMAND TO LS_EVENT-FORM.
APPEND LS_EVENT TO LT_EVENTS.
ENDIF.
ENDFORM. "F20_EVENTTAB_BUILD
*& Form F12_E04_COMMENT_BUILD
FORM F12_E04_COMMENT_BUILD USING E04_LT_TOP_OF_PAGE TYPE
SLIS_T_LISTHEADER.
DATA : LS_LINE TYPE SLIS_LISTHEADER,
LV_TEXT(100) TYPE C,
LV_DAYLOW(2) TYPE C,
LV_MONTHLOW(2) TYPE C,
LV_YEARHIGH(4) TYPE C,
LV_DAYHIGH(2) TYPE C,
LV_MONTHHIGH(2) TYPE C,
LV_YEARLOW(4) TYPE C,
LV_DATFORMAT1(10),
LV_DATFORMAT2(10).
CONCATENATE 'Company Code :' ' ' GS_BUKRS
INTO LV_TEXT SEPARATED BY SPACE.
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = LV_TEXT.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
CLEAR LV_TEXT.
IF NOT GS_MATKL[] IS INITIAL.
IF GS_MATKL-HIGH IS INITIAL AND NOT GS_MATKL-LOW IS INITIAL.
CONCATENATE 'Material Group :' ' ' GS_MATKL-LOW
INTO LV_TEXT SEPARATED BY SPACE.
ELSE .
CONCATENATE 'Material Group :' GS_MATKL-LOW ' to'
GS_MATKL-HIGH INTO LV_TEXT SEPARATED BY SPACE.
ENDIF.
ENDIF.
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = LV_TEXT.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
CLEAR LV_TEXT.
IF NOT GS_MATNR[] IS INITIAL.
IF GS_MATNR-HIGH IS INITIAL AND NOT GS_MATNR-LOW IS INITIAL.
CONCATENATE 'Material :' ' ' GS_MATNR-LOW
INTO LV_TEXT SEPARATED BY SPACE.
ELSE .
CONCATENATE 'Material :' GS_MATNR-LOW ' to'
GS_MATNR-HIGH INTO LV_TEXT SEPARATED BY SPACE.
ENDIF.
ENDIF.
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = LV_TEXT.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
CLEAR LV_TEXT.
LV_YEARLOW = gs_ped+0(4).
LV_MONTHLOW = gs_ped+4(2).
LV_DAYLOW = gs_ped+6(2).
CONCATENATE LV_DAYLOW LV_MONTHLOW LV_YEARLOW INTO LV_DATFORMAT1
*SEPARATED BY '.'.
CONCATENATE 'Key month : ' gs_ped
INTO LV_TEXT SEPARATED BY SPACE.
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = LV_TEXT.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
CLEAR LV_TEXT.
CONCATENATE 'Number of days :' ' ' GS_DAYS
INTO LV_TEXT SEPARATED BY SPACE.
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = LV_TEXT.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
CLEAR LV_TEXT.
GV_PAGE = GV_PAGE + 1.
CONCATENATE 'PAGE NO : ' ' ' GV_PAGE
INTO LV_TEXT SEPARATED BY SPACE.
CLEAR LS_LINE.
LS_LINE-TYP = 'H'.
LS_LINE-INFO = LV_TEXT.
APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
ENDFORM. "F12_E04_COMMENT_BUILD
FORM TOP_OF_PAGE *
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
ENDFORM. "TOP_OF_PAGE
*& Form validate_sales_organization
text
FORM F00_VALIDATE_COMPANY_CODE .
SELECT SINGLE BUKRS
FROM T001
INTO T001-BUKRS
WHERE BUKRS = GS_BUKRS.
IF SY-SUBRC = 0.
ELSE.
MESSAGE E000(ZCBOM) WITH 'Please enter the valid material group'.
ENDIF.
ENDFORM. " validate_sales_organization
*& Form VALIDATE_PLANT
text
--> p1 text
<-- p2 text
FORM F01_VALIDATE_MATERIAL_GROUP.
SELECT SINGLE MATKL
FROM T023
INTO T023-MATKL
WHERE MATKL IN GS_MATKL.
IF SY-SUBRC = 0.
ELSE.
MESSAGE E000(ZCBOM) WITH 'Please enter the valid material group'.
ENDIF.
ENDFORM. " VALIDATE_PLANT
*& Form VALIDATE_MATERIAL
text
--> p1 text
<-- p2 text
FORM F01_VALIDATE_MATERIAL.
SELECT SINGLE MATNR
FROM MARA
INTO MARA-MATNR
WHERE MATNR IN GS_MATNR.
IF SY-SUBRC = 0.
ELSE.
MESSAGE E000(ZCBOM) WITH 'Please enter the valid material '.
ENDIF.
ENDFORM. " VALIDATE_MATERIAL
*& Form F40_DISPLAY_REPORT
FORM F40_DISPLAY_REPORT TABLES IT.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = GV_REPID
I_CALLBACK_USER_COMMAND = 'USER_COMMAND '
IT_FIELDCAT = GT_FIELDCAT[]
IT_SPECIAL_GROUPS = GT_SP_GROUP[]
IT_SORT = GT_SORT[]
I_SAVE = GV_SAVE
IS_VARIANT = GT_VARIANT
IT_EVENTS = GT_EVENTS[]
TABLES
T_OUTTAB = IT. "it_1.
CLEAR:GT_FIELDCAT.
REFRESH:GT_FIELDCAT.
ENDFORM. " F40_DISPLAY_REPORT
*& Form F30_SELECT_PRIMARY_DATA
text
FORM F30_SELECT_PRIMARY_DATA .
subroutine to get the actual data
to get the plants for the given company code
data : temp_bukrs like BAPI0002_2-COMP_CODE,
temp_date like BAPI0002_4-POSTING_DATE.
data : last_day(2) type n,
from_date like sy-datum,
temp_date1 like sy-datum,
cal_month(2) type n,
cal_year(4) type n.
SELECT DISTINCT BWKEY FROM T001K INTO RANGE_WERK-LOW WHERE BUKRS = GS_BUKRS.
RANGE_WERK-SIGN = 'I'.
RANGE_WERK-OPTION = 'EQ'.
APPEND RANGE_WERK.
ENDSELECT.
*selecting material that is relevant to the selection criteria
SELECT MARA~MATNR MATKL MEINS MAKTX
FROM MARA JOIN MAKT
ON MAKTMATNR = MARAMATNR
INTO CORRESPONDING FIELDS OF TABLE I_MARA
WHERE MARA~MATNR IN GS_MATNR
AND MATKL IN GS_MATKL
AND MAKT~SPRAS = 'EN'.
temp_bukrs = gs_bukrs.
cal_month = gs_ped+4(2).
cal_year = gs_ped+0(4).
concatenate cal_year cal_month '01' into temp_date.
*temp_date = temp_date1.
CALL FUNCTION 'BAPI_COMPANYCODE_GET_PERIOD'
EXPORTING
COMPANYCODEID = temp_bukrs
POSTING_DATE = temp_date
IMPORTING
FISCAL_YEAR = fiscal_year
FISCAL_PERIOD = period.
select single * from marv into marv where bukrs = temp_bukrs.
temp_date1 = temp_date.
if sy-subrc = 0.
if ( marv-lfmon ne period or marv-lfgja ne fiscal_year ).
CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
EXPORTING
DAY_IN = temp_date
IMPORTING
LAST_DAY_OF_MONTH = from_date
EXCEPTIONS
DAY_IN_NO_DATE = 1
OTHERS = 2.
else.
from_date = sy-datum.
endif.
endif.
to define the range for posting date
RES_DATE = from_date - GS_DAYS.
RANGE_DATE-LOW = RES_DATE.
RANGE_DATE-HIGH = from_date.
RANGE_DATE-OPTION = 'BT'.
RANGE_DATE-SIGN = 'I'.
APPEND RANGE_DATE.
to select documents and their quantities for the given range of posting dates
with goods movement type 101 105 657 453 459 501 521 and their reversals
if range_date-low ne range_date-high.
SELECT MSEG~MATNR MSEG~MBLNR MSEG~ZEILE MSEG~MENGE MSEG~BWART mseg~ebeln mseg~ebelp
MKPF~BUDAT MSEG~SHKZG
FROM MKPF
JOIN MSEG ON MSEG~MBLNR = MKPF~MBLNR
AND MSEG~MJAHR = MKPF~MJAHR
INTO CORRESPONDING FIELDS OF TABLE I_MKPF_MSEG
FOR ALL ENTRIES IN I_MARA
WHERE MSEG~MATNR = I_MARA-MATNR
AND MSEG~WERKS IN RANGE_WERK
AND MKPF~BUDAT IN RANGE_DATE
AND MSEG~BWART IN ('101','105','657','453','459','501','521','561','309','701','712', "711
'102','106','658','454','460','502','522','562').
DELETE I_MKPF_MSEG WHERE ( BWART = '309' AND SHKZG = 'H')
or ( bwart = '453' and shkzg = 'H')
or ( bwart = '454' and shkzg = 'S').
endif.
SORT I_MKPF_MSEG BY MATNR MBLNR.
LOOP AT I_MKPF_MSEG.
if i_mkpf_mseg-bwart = '101' or i_mkpf_mseg-bwart = '102'.
select single * from ekpo where ebeln = i_mkpf_mseg-ebeln
and ebelp = i_mkpf_mseg-ebelp.
if ekpo-pstyp = 7.
delete i_mkpf_mseg where ebeln = i_mkpf_mseg-ebeln
and ebelp = i_mkpf_mseg-ebelp.
CLEAR I_MKPF_MSEG-MENGE.
endif.
endif.
IF ( I_MKPF_MSEG-BWART = '101' OR I_MKPF_MSEG-BWART = '105' OR I_MKPF_MSEG-BWART = '712' OR
I_MKPF_MSEG-BWART = '657' OR I_MKPF_MSEG-BWART = '453' OR "I_MKPF_MSEG-BWART = '711' OR
I_MKPF_MSEG-BWART = '459' OR I_MKPF_MSEG-BWART = '501' OR I_MKPF_MSEG-BWART = '701' OR
I_MKPF_MSEG-BWART = '521' OR I_MKPF_MSEG-BWART = '561' OR I_MKPF_MSEG-BWART = '309').
NET_VAL = NET_VAL + I_MKPF_MSEG-MENGE.
ENDIF.
IF ( I_MKPF_MSEG-BWART = '102' OR I_MKPF_MSEG-BWART = '106' OR
I_MKPF_MSEG-BWART = '658' OR I_MKPF_MSEG-BWART = '454' OR
I_MKPF_MSEG-BWART = '460' OR I_MKPF_MSEG-BWART = '502' OR
I_MKPF_MSEG-BWART = '522' OR I_MKPF_MSEG-BWART = '562').
NET_VAL = NET_VAL - I_MKPF_MSEG-MENGE.
ENDIF.
WA_TEMP = I_MKPF_MSEG.
AT END OF MATNR.
I_TEMP-MATNR = WA_TEMP-MATNR.
I_TEMP-NET_VAL = NET_VAL.
APPEND I_TEMP.
CLEAR NET_VAL.
ENDAT.
ENDLOOP.
SORT I_MARA BY MATNR.
SORT I_TEMP BY MATNR.
SELECT MATNR LBKUM SALK3 BWKEY
FROM MBEWH
INTO CORRESPONDING FIELDS OF TABLE I_MBEWH
FOR ALL ENTRIES IN I_MARA
WHERE MATNR = I_MARA-MATNR
AND BWKEY IN RANGE_WERK
AND BWTAR IN S_BWTAR
AND LFGJA = FISCAL_YEAR
AND LFMON = PERIOD.
SELECT MATNR LBKUM SALK3 BWKEY
FROM MBEW
INTO CORRESPONDING FIELDS OF TABLE I_MBEWH1
FOR ALL ENTRIES IN I_MARA
WHERE MATNR = I_MARA-MATNR
AND BWKEY IN RANGE_WERK.
AND LFMON = PERIOD
AND LFGJA = FISCAL_YEAR.
SORT I_MBEWH BY MATNR BWKEY.
SORT I_MBEWH1 BY MATNR BWKEY.
LOOP AT I_MBEWH.
LOOP AT I_MBEWH1 WHERE MATNR = I_MBEWH-MATNR
AND BWKEY = I_MBEWH-BWKEY.
DELETE I_MBEWH1.
ENDLOOP.
ENDLOOP.
APPEND LINES OF I_MBEWH1 TO I_MBEWH.
CLEAR : I_MBEWH1.
REFRESH I_MBEWH1.
SORT I_MBEWH BY MATNR.
LOOP AT I_MBEWH .
I_MBEWH1 = I_MBEWH.
AT END OF MATNR.
SUM.
I_MBEWH1-LBKUM = I_MBEWH-LBKUM.
I_MBEWH1-SALK3 = I_MBEWH-SALK3.
APPEND I_MBEWH1.
ENDAT.
ENDLOOP.
DELETE I_MBEWH1 WHERE LBKUM <= 0.
LOOP AT I_MARA.
CLEAR : CUR_VAL,
NUM,
TOT_VAL,
TOT_AMT1,
I_MBEWH1.
GT_FINAL-MATNR = I_MARA-MATNR.
GT_FINAL-MATKL = I_MARA-MATKL.
GT_FINAL-MAKTX = I_MARA-MAKTX.
gt_final-meins = I_MARA-MEINS.
READ TABLE I_MBEWH1 WITH KEY MATNR = I_MARA-MATNR.
GT_FINAL-LBKUM = I_MBEWH1-LBKUM.
to get the net inward movement vale that is to be subtracted from current value
READ TABLE I_TEMP WITH KEY MATNR = I_MARA-MATNR.
IF SY-SUBRC = 0 .
IF GT_FINAL-LBKUM > 0.
TOT_VAL = gt_final-lbkum - I_TEMP-NET_VAL.
if tot_val gt 0.
GT_FINAL-TOT_VAL = TOT_VAL.
GT_FINAL-PRICE = I_MBEWH1-SALK3 / gt_final-lbkum."TOT_VAL.
GT_FINAL-TOT_AMT = GT_FINAL-PRICE * GT_FINAL-TOT_VAL.
APPEND GT_FINAL.
endif.
ENDIF.
else.
if gt_final-lbkum > 0.
gt_final-tot_val = gt_final-lbkum.
GT_FINAL-PRICE = I_MBEWH1-SALK3 / gt_final-lbkum.
GT_FINAL-TOT_AMT = GT_FINAL-PRICE * GT_FINAL-TOT_VAL.
APPEND GT_FINAL.
endif.
ENDIF.
ENDLOOP.
DELETE GT_FINAL WHERE LBKUM LE 0.
ENDFORM. " F30_SELECT_PRIMARY_DATA
*& Form f10_DATA_FORMAT
text
FORM F10_DATA_FORMAT_MAT .
populating the field catalog table
MATNR
PERFORM F11_E01_FIELDCAT_INIT USING 'MARA' 'MATNR' 'MATNR' '1'
TEXT-003 'GT_FINAL' '15'.
MAKTX
PERFORM F11_E01_FIELDCAT_INIT USING 'MARA' 'MATKL' 'MATKL' '2'
TEXT-004 'GT_FINAL' '24'.
DESC
PERFORM F11_E01_FIELDCAT_INIT USING 'MAKT' 'MAKTX' 'MAKTX' '3'
TEXT-005 'GT_FINAL' '35'.
Material Group Decription
PERFORM F11_E01_FIELDCAT_INIT USING 'V023' 'WGBEZ' 'WGBEZ' '3'
TEXT-005 'GT_FINAL' '20'.
qty
PERFORM F11_E01_FIELDCAT_INIT USING '' 'TOT_VAL' 'MENGE' '4'
TEXT-006 'GT_FINAL' '15'.
MEINS
PERFORM F11_E01_FIELDCAT_INIT USING '' 'MEINS' 'MEINS' '4'
TEXT-008 'GT_FINAL' '15'.
TOTAL COST
PERFORM F11_E01_FIELDCAT_INIT USING '' 'TOT_AMT' 'SALK3' '5'
TEXT-007 'GT_FINAL' '24'.
PERFORM F12_E04_COMMENT_BUILD USING GT_LIST_TOP_OF_PAGE[].
GV_SAVE = 'A'.
CLEAR GT_EVENTS.
REFRESH GT_EVENTS.
GT_EVENTS-NAME = 'TOP_OF_PAGE'.
GT_EVENTS-FORM = 'TOP_OF_PAGE'.
APPEND GT_EVENTS.
ENDFORM. " f10_DATA_FORMAT
*& Form F11_E01_FIELDCAT_INIT
text
FORM F11_E01_FIELDCAT_INIT USING T1 T2 T3 T4 T5 T6 T7.
CLEAR GW_FIELDCAT.
GW_FIELDCAT-REF_TABNAME = T1.
GW_FIELDCAT-FIELDNAME = T2.
GW_FIELDCAT-REF_FIELDNAME = T3.
GW_FIELDCAT-COL_POS = T4.
GW_FIELDCAT-SELTEXT_L = T5.
GW_FIELDCAT-TABNAME = T6.
GW_FIELDCAT-OUTPUTLEN = T7.
APPEND GW_FIELDCAT TO GT_FIELDCAT.
ENDFORM. " F11_E01_FIELDCAT_INIT
*& Form f40_material_group_data
text
--> p1 text
<-- p2 text
FORM F50_MATERIAL_GROUP_DATA .
SORT GT_FINAL BY MATKL.
LOOP AT GT_FINAL.
TOT_QTY = GT_FINAL-TOT_VAL + TOT_QTY.
TOT_AMT1 = GT_FINAL-TOT_AMT + TOT_AMT1.
UOM = GT_FINAL-MEINS.
AT END OF MATKL.
MAT_FINAL-MATKL = GT_FINAL-MATKL.
MAT_FINAL-TOT_VAL = TOT_QTY.
MAT_FINAL-TOT_AMT = TOT_AMT1.
MAT_FINAL-MEINS = UOM.
APPEND MAT_FINAL.
CLEAR : TOT_QTY,
TOT_AMT1.
ENDAT.
ENDLOOP.
ENDFORM. " f40_material_group_data
*& Form BUILD_DETAIL
text
--> p1 text
<-- p2 text
FORM BUILD_DETAIL .
DETAIL_FINAL[] = GT_FINAL[].
DELETE DETAIL_FINAL WHERE MATKL NE MAT_FINAL-MATKL.
ENDFORM. " BUILD_DETAIL
*& Form f11_data_format_group
text
--> p1 text
<-- p2 text
FORM F11_DATA_FORMAT_GROUP .
MATNR
PERFORM F11_E01_FIELDCAT_INIT USING 'MARA' 'MATNR' 'MATNR' '1'
TEXT-003 'GT_FINAL' '15'.
REFRESH GT_FIELDCAT[].
MAKTX
PERFORM F11_E01_FIELDCAT_INIT USING 'MARA' 'MATKL' 'MATKL' '2'
TEXT-004 'MAT_FINAL' '24'.
DESC
PERFORM F11_E01_FIELDCAT_INIT USING 'MAKT' 'MAKTX' 'MAKTX' '3'
TEXT-005 'GT_FINAL' '35'.
Material Group Decription
PERFORM F11_E01_FIELDCAT_INIT USING 'V023' 'WGBEZ' 'WGBEZ' '3'
TEXT-005 'GT_FINAL' '20'.
qty
PERFORM F11_E01_FIELDCAT_INIT USING '' 'TOT_VAL' 'MENGE' '4'
TEXT-006 'MAT_FINAL' '15'.
qty
PERFORM F11_E01_FIELDCAT_INIT USING '' 'MEINS' 'MEINS' '5'
TEXT-008 'MAT_FINAL' '15'.
TOTAL COST
PERFORM F11_E01_FIELDCAT_INIT USING '' 'TOT_AMT' 'SALK3' '6'
TEXT-007 'MAT_FINAL' '24'.
PERFORM F12_E04_COMMENT_BUILD USING GT_LIST_TOP_OF_PAGE[].
GV_SAVE = 'A'.
CLEAR GT_EVENTS.
REFRESH GT_EVENTS.
GT_EVENTS-NAME = 'TOP_OF_PAGE'.
GT_EVENTS-FORM = 'TOP_OF_PAGE'.
APPEND GT_EVENTS.
ENDFORM. " f11_data_format_group
*& Form DETAIL_FORMAT_FIELDCAT
text
--> p1 text
<-- p2 text
FORM DETAIL_FORMAT_FIELDCAT .
REFRESH GT_FIELDCAT[].
MATNR
PERFORM F11_E01_FIELDCAT_INIT USING 'MARA' 'MATNR' 'MATNR' '1'
TEXT-003 'DETAIL_FINAL' '15'.
MAKTL
PERFORM F11_E01_FIELDCAT_INIT USING 'MARA' 'MATKL' 'MATKL' '2'
TEXT-004 'DETAIL_FINAL' '24'.
MAKTX
PERFORM F11_E01_FIELDCAT_INIT USING 'MAKT' 'MAKTX' 'MAKTX' '3'
TEXT-005 'DETAIL_FINAL' '35'.
qty
PERFORM F11_E01_FIELDCAT_INIT USING '' 'TOT_VAL' 'MENGE' '4'
TEXT-006 'DETAIL_FINAL' '15'.
UOM
PERFORM F11_E01_FIELDCAT_INIT USING '' 'MEINS' 'MEINS' '5'
TEXT-008 'DETAIL_FINAL' '15'.
TOTAL COST
PERFORM F11_E01_FIELDCAT_INIT USING '' 'TOT_AMT' 'SALK3' '6'
TEXT-007 'DETAIL_FINAL' '24'.
PERFORM F12_E04_COMMENT_BUILD USING GT_LIST_TOP_OF_PAGE[].
GV_SAVE = 'A'.
CLEAR GT_EVENTS.
REFRESH GT_EVENTS.
GT_EVENTS-NAME = 'TOP_OF_PAGE'.
GT_EVENTS-FORM = 'TOP_OF_PAGE'.
APPEND GT_EVENTS.
ENDFORM. " DETAIL_FORMAT_FIELDCAT
FORM USER_COMMAND *
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&IC1'. "doubleclick
IF RS_SELFIELD-TABNAME = 'MAT_FINAL'.
READ TABLE MAT_FINAL INDEX RS_SELFIELD-TABINDEX .
PERFORM BUILD_DETAIL.
PERFORM DETAIL_FORMAT_FIELDCAT.
PERFORM F20_EVENTTAB_BUILD CHANGING GT_EVENTS[].
PERFORM F40_DISPLAY_REPORT TABLES DETAIL_FINAL.
CLEAR DETAIL_FINAL[].
ENDIF.
CLEAR R_UCOMM.
ENDCASE.
ENDFORM. "USER_COMMANDHi,
Done with the help of abaper.
Thanks & Regards,
Sandeep -
Creation of Column view for Multiprovider failed
Dear Experts,
I'm facing an issue in TR import.
The TR failed with the below error message.
Creation of column view for XXXXX failed.
XXXXX - Multiprovider
System :BW on HANA (BW 7.4 SP06)
If there's a way to resolve this error, please let me know.
Appreciate your help.
Br, HarishHi,
Here's the workaround I have implemented for this issue.
Implemented the note 1955263 and made the below correction to the programSAP_RSADMIN_MAINTAIN.
Object = MPRO_CS_GEN_ERROR_IGNORE
Value = X
After the above customizations are done, TRs are imported without any issues.
For the OSS message I have raised, SAP has asked us to implement the note 2001969 to fix the issue.
Br, Harish -
Hi All,
I have created a custom table. While I display data for this table I need one extra field (from some other table) in the display. That extra field is not in the include structure.
Any pointers...
Thanks in advance.
NeerjaHi,
Checkout if there is any link between the custom table and the other table from which you want to add one more field and proceed with creation of database view or maintainance view.
Cheers!!
VEnk@ -
Creation of Materialized view and Materialized view log.
I wanted to create materialized view with 'REFRESH FAST ON COMMIT' option.
1) Table1 --it is partitioned range + list -- Added primary key
2) view1 -- having primary keys on view's base table
Steps:
1) create materialized view log on Table1 ; -- default primary key
2) create materialized view log on view1. --- It is giving below error.
ORA-00942: table or view does not exist
i wanted to create Materialized view like below
create materialized view
REFRESH fast ON commit
as
select ...
... from table1
where c1 in (select c1 from view1 where ... );
Question:
1) As i am getting above error while creating MV log on view. Can we create MV log on view or we have to create MV log on view base table?
2) To create MV with ''REFRESH FAST ON COMMIT' option , do we need to have primary key on master tables?
Any pointers on this will really helpful.
Thanks
PrasadAlso created MV LOG on 3 tables and tried with joins ..
create materialized view
REFRESH fast ON commit
as
select ...
... from table1 , tab2 t2,tab3 t3
where ....
and ...
Get same error ORA-12052: cannot fast refresh materialized view AVSYS.EVENT_LOG_MV
2052. 00000 - "cannot fast refresh materialized view %s.%s"
*Cause: Either ROWIDs of certain tables were missing in the definition or
the inner table of an outer join did not have UNIQUE constraints on
join columns.
*Action: Specify the FORCE or COMPLETE option. If this error is got
during creation, the materialized view definition may have be
changed. Refer to the documentation on materialized views. -
Hi All,
We had created some other materialized view with for small set of data. The materialized view name is ‘XXCA_PAGL_RECON_GL1_TRANS_MV’ and it has created a table with the same name.
What I am unable to understand is that the new table which was created by the system during the creation of materialized view is in VALID state but the materialized view is in INVALID state.
Please help me to understand this process.
Thanks in advance
VenkateshThe column dba_objects.status for mviews is set to INVALID when the base tables are updated. See Metalink note 454552.1. It is normal.
Edited by: YasinBaskan on Feb 17, 2009 2:07 PM -
Dear All,
I copied V_T001B maintaince view which is having data to ZV_T001B_000X. When I clicked contents to see whether the data is copied it is giving message as no database view exists for ZV_T001B_000X.
Can any one help how to copy V_T001B to Z view along with data or how to post the data in the Z maintaince view once i copy it. Kindly give a solution to this...
Regards,
Raj Babu...Hi,
You need to generate the table maintenance for the new view (utilities --> table maintenance generator from SE11).
Regards,
Darren -
How to create Maintaince View and Help View
Hi,
Can u pls tell me the step by step procedure for how to
create Maintaince View and Help View.
And what's the use of these view's.
Regards,
KumarFOR MAINTANENCE VIEW
Create a table or a view in transaction SE11.
A function group in SE80 transaction
1>go to se54 transaction.
2>give the name of the table /view starting from z.
3>select "Generated Objects" radio button.
4>click on "create/change" push button.
5>you get a pop asking you whether to create modules ,click on YES
6>give "authorization group" as temp.
7>give the function group name created by you.
8>click on "find Scr numbers "push button on the application tool bar.
9>in the pop up that you get select the 1st option and press enter
10>click on the create push button (it is beside "Find Scr numbers" push button)
11>selct local object and pres enter.
12>go to SM30 transaction.
13>give the table/view name
14>click on "maitain" push button. -
Report Creation with Qucik Viewer(SQVI)
Hi
My client requirement is to get the CSO report on the items which are invoiced and the items are not invoiced in the CSO.
i though i could generate the intended report wiht Quick Viewer (SQVI)
kindly advise me how do i proceed with this kind of report.
Regards
TharakJReddyYour application is referencing the file craxDDrt.dll. In order to use this dll, you needed to obtain extra licensing. Since CR 10 has been out of support for over 5(?) years, I am not sure if you can still obtain the licensing. Contact sales at 866-681-3435 to find out.
Alternatively, reference the craxDrt.dll. This dll does not require any extra licensing. However, the error you are getting indicates that you are using Report Creation APIs (RCAPI) from craxDDrt.dll. In my experience, there often were other ways of coding to achieve the same thing with craxdrt.dll. Let me know what RCAPIs you are using and I may be able to help out there.
Ludek
Follow us on Twitter http://twitter.com/SAPCRNetSup
Got Enhancement ideas? Try the [SAP Idea Place|https://ideas.sap.com/community/products_and_solutions/crystalreports] -
Long time for creation of materialized view
Hi,
we are trying to create a materialized view and this view would contain 1 lakh records and around 50 columns.
The select statement to get these records takes only 1-2 sec whereas the actual creation of view takes 17 minutes. The database used is Oracle 8i. The code used is
CREATE MATERIALIZED VIEW employee_master_t
PCTFREE 10
STORAGE (initial 500k next 500k pctincrease 0)
REFRESH WITH ROWID COMPLETE START WITH SYSDATE
NEXT SYSDATE + 1 AS select * from table_name
Is it because the insert is slow and temp tablespace may have to be increased?
also, can anyone pls suggest if fast refresh mode can be used with Oracle 8i since currently we are not able to create as error saying that query is complex is returnedIt will be possible to create a Materialised view with up to 20 tables, but you have to understand the restrictions on complex Materialised views with regards to fast refresh.
To help your understanding, refer to Materialized View Concepts and Architecture
<br>
Oracle Database FAQs
</br> -
i have a norma view like this
CREATE FORCE VIEW USERBO.USERPROFILE_VIEW
(ROW_ID,EMPLOYEE,RESPONSABILITY_ID,RUOLO,E_USERNAME,E_PASSWORD,USERTYPE,USER_ID) AS
SELECT RESPONSABILITYUSER.row_id,
client.surname
|| ' '
|| client.NAME,
RESPONSABILITYUSER.responsability_id,
'USERWEB',
upper(client.username) || '-' || client.organization_id,
client.pwd,
client.usertype,
client.ROW_ID
FROM RESPONSABILITYUSER,
general.client
WHERE ((client.row_id = RESPONSABILITYUSER.user_id))
AND client.status ='ACTIVE'
the select works fine but the view
was create with "error"
but how i can find the essror ??
i tried "show error" but no error found
insten when i create the view occur an error of creation and dos not work !!
Help>
the strange is that the select extract from the view and execute from user USERBO
works without errors and the two USER (USERBO AND CLIENT) are dba users.
>
Why is that strange? The common way to make a user a DBA is to grant them the DBA role.
Reread my reply above. Especially this part
>
the user creating the view has to have select privileges on the RESPONSABILITYUSER table granted directly to them.
>
To work in a view or pl/sql procedure/function/package privileges must be 'GRANTED DIRECTLY TO THEM'!
Repeat after me:
DBA is a role, roles are not active in views/procedures/functions/packages: privileges must be 'GRANTED DIRECTLY TO THEM'!
DBA is a role, roles are not active in views/procedures/functions/packages: privileges must be 'GRANTED DIRECTLY TO THEM'!
DBA is a role, roles are not active in views/procedures/functions/packages: privileges must be 'GRANTED DIRECTLY TO THEM'!
DBA is a role, roles are not active in views/procedures/functions/packages: privileges must be 'GRANTED DIRECTLY TO THEM'!
DBA is a role, roles are not active in views/procedures/functions/packages: privileges must be 'GRANTED DIRECTLY TO THEM'!
Now please post the answer to this question:
>
I must grant select on all tables ?? -
Error:While creation of Classification view using-'BAPI_OBJCL_CREATE'
Hi all,
I am using function module -
CALL FUNCTION 'BAPI_OBJCL_CREATE'
EXPORTING
OBJECTKEYNEW = OBJECTKEYNEW1
OBJECTTABLENEW = 'MARA'
CLASSNUMNEW = CLASSNUMNEW1
CLASSTYPENEW = CLASSTYPENEW1
STATUS = '1'
STANDARDCLASS =
CHANGENUMBER =
KEYDATE = SY-DATUM
NO_DEFAULT_VALUES = ' '
IMPORTING
CLASSIF_STATUS =
TABLES
ALLOCVALUESNUM =
ALLOCVALUESCHAR = ALLOCVALUESCHAR1
ALLOCVALUESCURR =
RETURN = RETURN1
for creation of classification of material.But it gives me afollowin errors -
1)Assignment does not exist or is not valid on
2)Table not supported for class type
3)Assignment was not created
in return table.
Thanks.Hi,
Please follow the below steps.
Creating the Classification View using the Function module 'BAPI_OBJCL_CREATE'.
Check the Class Type and Class Number which you are passing.
Generally it will be Class type - 001 (Material Class) and Number will be ENGINEERING.
It depends.
But, what you can do is, Check material which has classification data filled.
And just use the same class Type and Class Number Details.
Try this way.It should work.
To know the Available Class Types refer to table TCLA.
Please let me know, if you want further help.
Thanks & Regards,
Vamsi. -
Creation of Database View , Projection View
Hi ABAP EXPERTS,
Can anyone plz send me the step by step creation of DATABASE and PROJECT VIEWS. Just steps by step explanation will do , screen shots will be more than appreciated.
Kind Regards,
Sunil Ranal.Database View (SE11)
Database views are implement an inner join, that is, only records of the primary table (selected via the join operation) for which the corresponding records of the secondary tables also exist are fetched. Inconsistencies between primary and secondary table could, therefore, lead to a reduced selection set. In database views, the join conditions can be formulated using equality relationships between any base fields. In the other types of view, they must be taken from existing foreign keys. That is, tables can only be collected in a maintenance or help view if they are linked to one another via foreign keys.
Check this link for database view creation.
http://help.sap.com/saphelp_40b/helpdata/en/cf/21ed06446011d189700000e8322d00/content.htm
Projection View
Projection views are used to suppress or mask certain fields in a table (projection), thus minimizing the number of interfaces. This means that only the data that is actually required is exchanged when the database is accessed. A projection view can draw upon only one table. Selection conditions cannot be specified for projection views.
Check this link for Projection view creation.
http://help.sap.com/saphelp_nw70/helpdata/en/cf/21ed20446011d189700000e8322d00/content.htm
Regards,
Maha -
Blocking vendor for PO creation if Accounting view is not maintained.
Hi ALl,
Is it possible to restrict RFQ or PO creation against vendor if accounting view is not maintained by account dept.
I dont want to block it in MK06 or XK06 or in source list.
Is there any user exit for this?
Pls guide.
Regards.
Edited by: sapsarang on Aug 5, 2011 10:07 AMHi,
Use BAdi "ME_PROCESS_PO_CUST" and write the code under Interface "PROCESS_HEADER".
Following is the sample code for the same.
data t_lifnr type lfb1-lifnr.
if w_lifnr is not initial and wa_hdr-bukrs is not initial.
select single lifnr from lfb1 into t_lifnr where lifnr = w_lifnr
and bukrs = wa_hdr-bukrs.
if sy-subrc ne 0.
MESSAGE e025(zm01) WITH w_lifnr wa_hdr-bukrs.
endif.
Here create a message as ZM01025 (In TCode SE91) as "Vendor has not been maintained for Co. Code &."
Maybe you are looking for
-
What I would like to do is do row counts across 2 schemas with same tables and see if there are any differences in row counts and if there is any would like to generate an email and alert the user. Is it possible?
-
I downloaded the latest version of iTunes on my PC. Now I cannot open iTunes. I receive the following error message: "The procedure entry point AVCFAssetCreateWithByteStreamAndOptions could not be located in the dynamic link library AVfoundationCF.
-
Hi, ADSL 2+ connection, very stable line I have a Billion 7800DXL router, which initially works great, however after about 3 days (varys but never longer than a week), the router stops downloading, even though the router is saying that it is still sy
-
Hi everyone, Our DMVPN scenario is we're a managed IT provider and as such require constant access to our customer networks. Presently our deployment has a DMVPN head end our side, and each customer is a spoke on the DMVPN. To stop one customer seei
-
MS SQL Server Transactionlog Problem
Hello, MS SQL 2005 Database on R/3 production system takes transaction log back up in every 15 minutes. I can follow transaction log backup being taken normally on SQL Server Management Studio, but it is not observed from DB02 Transaction. The system