Modification assistant or similar concept for Z program
Hi,
I have a requirement where I want to switch on the modification assistant for Z programs.
The requirement is such that I want the user to allow to make change for only a particular part of the code the rest part should be frozen for any changes. I think Modification Assistant will partially provide this.
But it seems that MA cannot be used for Z programs. Is there any other way to do this ?
Please pour in your thoughts.
Thanks in advance.
Regards
Megha
Hi,
Why dont you try to create 2 objects ...1 main program with editor lock and the other 1 include program where in all the part that the user can change are there..much like the user-exit concept
Just a suggestion.
Regards,
Leonard Chomi
Similar Messages
-
Table for Modification assistant
Hello Gurus,
When we modify a standard program or program imported from other system, the system will popup for Modification assistant.
Then we will add our coding either using modification assistant or by turnign off modification assistant.
Now my question is, which table will hold the information about the modification assistant for a particular program.
Because, if we have turned modification assistant off, then the program will not popup modificaiton assistant, the next time we change the program. If we have used modification assistant, then it will popup for modification assistant.
So, definitely, this stuff is stored in some DB Table. So, please let me know how this stuff works or in which DB Table, information about modification assistant is stored.
Thanks and Best Regards,
SureshHi,
If you find entry in table SMODISRC means, you have done modification operation off for your object.
Regards
Nimesh S. Patel -
Modification assistant in Local Program to be turned ON
Hi all,
I need to get the modification assistant ON for programs created on local system as well,
currently it works only for programs transported from other servers.
Is there a way to prevent the developer from Switching it OFF.
Thanks.MA will active for the programs which are not in ur domain (package ), but in this case u cannt .
Regards
peram -
Adjustment using SPAU for Objects Without Modification Assistant
Hi
How to adjust Objects under Without Modification Assistant.
For example if there is an issue with custom program or BAPI, do I have to manually edit them and adjust to old version.
Cheers
SenthilHi,
Tcode SPAU is for adjusting programs and Function Modules.
http://help.sap.com/saphelp_nw04/helpdata/en/2e/6d66617d9011d396b60000e82de14a/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/60/d6ba7bceda11d1953a0000e82de14a/content.htm
SPAU - for repository Objects Changes
see the doc
SPAU
http://www.sap-img.com/bc018.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c6/068d380be34e6ce10000009b38f842/content.htm
http://help.sap.com/saphelp_46c/helpdata/EN/60/d6ba7bceda11d1953a0000e82de14a/content.htm
Please find below, answers to your questions:
1.What objects will come in SPAU and SPDD?
Ans: All the objects which are modified, after tansporting to the current system,
will be listed in SPAU and SPDD. SPDD contains the list of all modified Data Dictionary objects, like tables, dataelements, domains,view...etc. The rest of all the modified repository objects will be listed in SPAU.
What happens to the modifications done in the older version when we upgrade the version? (with Modification assistant and w/o)
Ans: After the initial upgrade happens, we have to do adjustments from SPAU/SPDD to maintain or reset the changes. That is, from the list of objects in SPAU/SPDD, you have to either carry forward the changes to the new version, by choosing the option ADOPT CHANGES (available on right click) or RESET TO ORIGINAL (available on right click).
Will they come in these transactions?
Ans: yes, they will be listed in these transactions, after the BASIS updgrade activity.
And what if we apply some patches(Notes) to the system? What is the impact of these patches to the SPAU transaction?
Ans: Patches will be supported by the version upgrade. In case of notes, we have to verify whether these notes are supported by the new version (you can go into http://www.service.sap.com/notes to verify this. Also, we have to analyze whther the code in the note is already incorporated in the new version. In this case you can ignore the chanes choosing RESET TO ORIGINAL option
http://help.sap.com/saphelp_erp2005vp/helpdata/en/2e/6d66587d9011d396b60000e82de14a/frameset.htm
If you have applied any OSS notes to objects in your system, the hot package may overwrite these objects.
SPDD is used to identify dictionary objects
and
SPAU (repository objects), will identify any objects where the hot package is overwriting changes you have made through OSS notes.
You must check all objects identified in SPAU and decide whether you need to reapply the OSS note or reset the code to the original SAP Code.
Also once the changes have been done you would see a green traffic light.
If you double click on the modified object it will show you a split window where on the left you will have the original version and on right the modified version. So you can choose which to keep and which to reject. You may keep the modified version incases where you know that the notes will only be pakages in the next version.
http://help.sap.com/saphelp_47x200/helpdata/en/2e/6d66647d9011d396b60000e82de14a/frameset.htm
http://help.sap.com/saphelp_47x200/helpdata/en/2e/6d66647d9011d396b60000e82de14a/frameset.htm
http://www.sap-img.com/bc018.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c6/068d380be34e6ce10000009b38f842/content.htm
http://help.sap.com/saphelp_46c/helpdata/EN/60/d6ba7bceda11d1953a0000e82de14a/content.htm
http://www.sap-img.com/bc018.htm
http://www.sappoint.com/oss/spamspau.html
http://help.sap.com/saphelp_nw04/helpdata/en/fe/4b284837bf11d5b3bf0050dae02d7c/content.htm
http://help.sap.com/saphelp_webas620/helpdata/en/83/7a18ecde6e11d195460000e82de14a/content.htm
http://64.233.167.104/custom?q=cache:nJasGnXhh4sJ:www.asug.com/client_files/Calendar/Upload/SAP%2520Upgrade%2520Lessons%2520Learned.ppt+spau(SAP)&hl=en&ct=clnk&cd=5&ie=UTF-8&client=pub-3723304925932908
Also the following link is very good
http://www.sapgenie.com/basis/starter.htm
Regards,
Naresh -
Modification assistant for customer reports
Hi,
How to enable modification assistant for the reports in customer namespace ?
Regards,
Rafal Olechowskisorry for the late reply.
No You can not do it through Modifictaion Overview for Custom reports, unless and untill its an standard SAP program.
Might be there any standard functions which could help you, but am not sure of this.
And as i said the version management and the version comparision can help you know the changes done in any report. in the version management only you can find the version comparision based on the requests.
Regards
Gopi -
Looking for a program to assist me in making gift tags and such on my mac book pro
I am looking for a program to design gift tags and brochures for my business. I've seen a print shop program by borderbund. Does anyone have any expereience with this?
Have you tried a safe start by holding the shift key when you boot? If that works, and it can take a while to complete, see if a regular boot now works. If it does, you need to free up space on your hard drive.
If a safe boot doesn't work, you need to either boot from an OS X DVD or go into target disk mode to connect via firewire cable to another mac to free up space on your hard drive. You need 5GB min, with 10% to 15%, or more, better, for systems usage. If you have a backup, move some data files to it, erase them and empty the trash. -
How do i create a header template for ABAP programs?
Hi all.
Need a little bit of help here. When you create a new program you get a template with space for comments at the top of the program and basic stuff. If I want to change this template to add areas that we want to have comments on for every program we make at work. How do I do that?
Instead of :
I want to have in a way similar to this:
* Author: *
* Function: *
And so on
I want the words to be there when our developers creates the program.
How can I do that?
BR
KalleAfter I create a new report program, I delete everything but the REPORT line. I then put this code in for my skeleton.
* Created By: Walter Industries (Paul Chapman)
* Created On: 02/29/2008
* Tran Code: ZLMxx
* Program Name: YPTC_REPORT_SKELETON " replace New Progam Name herer
* Program Descr: Configurable Leads Data Query
* Modification Log
* Programmer :Issue: Date : Chg Req. : Description
* Paul Chapman :00000:02/29/2008:DEVK000000:New Program
REPORT yptc_report_skeleton MESSAGE-ID zleads_msg. " replace New Progam Name herer
*_________________________________________________ Tables
TABLES: zpca, cepc, zlmlead.
*_________________________________________________ Constants
CONSTANTS:
line_length TYPE i VALUE 100,
c_tab TYPE x VALUE 9, " x'09'
c_crlf TYPE x VALUE 3338. " x'ODOA'
*_________________________________________________ Types
TYPES: BEGIN OF scr_text_line,
line(line_length) TYPE c,
END OF scr_text_line.
*_________________________________________________ DATA
DATA:
curr_screen_tab(4) TYPE n.
*_________________________________________________ ALV Area
*_________________________________________________ Ranges
RANGES:
r_branch FOR zpca-branch.
*_________________________________________________ Selection Screen
SELECTION-SCREEN:
BEGIN OF TABBED BLOCK tabs FOR 36 LINES,
TAB (20) tab1 USER-COMMAND push1 DEFAULT SCREEN 1010,
TAB (20) tab2 USER-COMMAND push2 DEFAULT SCREEN 1020,
END OF BLOCK tabs.
* Tab1 Options S E L E C T I O N S C R E E N S Tab 01 *
SELECTION-SCREEN BEGIN OF SCREEN 1010 AS SUBSCREEN.
SELECTION-SCREEN: BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
SELECT-OPTIONS:
sdiv FOR cepc-prctr MATCHCODE OBJECT zdivjwh,
ssbrch FOR zlmlead-branch.
SELECTION-SCREEN: END OF BLOCK blk1.
SELECTION-SCREEN: BEGIN OF BLOCK bl10 WITH FRAME TITLE text-010.
PARAMETERS:
cparm1 AS CHECKBOX USER-COMMAND sel,
cparm2 AS CHECKBOX USER-COMMAND sel,
cparm3 AS CHECKBOX USER-COMMAND sel,
cparm4 AS CHECKBOX USER-COMMAND sel,
cparm5 AS CHECKBOX USER-COMMAND sel.
SELECTION-SCREEN: END OF BLOCK bl10.
SELECTION-SCREEN END OF SCREEN 1010.
* Tab 2 Options S E L E C T I O N S C R E E N S Tab 02 *
SELECTION-SCREEN BEGIN OF SCREEN 1020 AS SUBSCREEN.
SELECTION-SCREEN: BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
SELECT-OPTIONS:
sctype FOR zlmlead-ctype,
sprfcnt FOR zlmlead-prefcont.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(25) text-201.
SELECTION-SCREEN POSITION 30.
PARAMETERS: rb_opt1 RADIOBUTTON GROUP gr20.
SELECTION-SCREEN COMMENT 34(03) text-991. " Yes
SELECTION-SCREEN POSITION 40.
PARAMETERS: rb_opt2 RADIOBUTTON GROUP gr20.
SELECTION-SCREEN COMMENT 44(03) text-992. " No
SELECTION-SCREEN POSITION 50.
PARAMETERS: rb_opt3 RADIOBUTTON GROUP gr20.
SELECTION-SCREEN COMMENT 54(06) text-993. " Either
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN: END OF BLOCK blk2.
SELECTION-SCREEN: BEGIN OF BLOCK bl20 WITH FRAME TITLE text-020.
PARAMETERS:
cb_opt1 AS CHECKBOX,
cb_opt2 AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN: END OF BLOCK bl20.
SELECTION-SCREEN END OF SCREEN 1020.
*____________________________________________ Screen Actions
AT SELECTION-SCREEN OUTPUT.
PERFORM what_tab_am_i_on.
CASE curr_screen_tab.
WHEN '1010'. " Tab 1
WHEN '1020'. " Tab 2
WHEN OTHERS.
ENDCASE.
PERFORM tab_hide_unhide.
*___________________________________________ Initialization
INITIALIZATION.
* Tab Text
tab1 = 'Tab 1'.
tab2 = 'Tab 2'.
*_________________________________________________ Load of Program
LOAD-OF-PROGRAM.
*_________________________________________________ Start of Selection
START-OF-SELECTION.
PERFORM set_up_branch_range.
*_________________________________________________ End of Selection
END-OF-SELECTION.
*& Form what_tab_am_i_on
FORM what_tab_am_i_on.
LOOP AT SCREEN.
IF screen-name CS 'BLOCK_1010'.
curr_screen_tab = '1010'.
ELSEIF screen-name CS 'BLOCK_1020'.
curr_screen_tab = '1020'.
ENDIF.
ENDLOOP.
ENDFORM. " what_tab_am_i_on
*& Form tab_hide_unhide
FORM tab_hide_unhide.
LOOP AT SCREEN.
CHECK screen-group3 = 'TAB'.
CASE screen-name.
WHEN 'TAB1'.
* IF
* screen-active = 1.
* screen-required = 1.
* screen-input = 1.
* screen-output = 1.
* screen-intensified = 1.
* screen-invisible = 1.
* ELSE.
* screen-active = 0.
* screen-required = 0.
* screen-input = 0.
* screen-output = 0.
* screen-intensified = 0.
* screen-invisible = 0.
* ENDIF.
WHEN 'TAB2'.
* IF
* screen-active = 1.
* ELSE.
* screen-active = 0.
* ENDIF.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
ENDFORM. " tab_hide_unhide
*& Form set_up_branch_range
FORM set_up_branch_range.
r_branch[] = ssbrch[].
CHECK NOT sdiv IS INITIAL.
r_branch = 'IEQ'.
SELECT branch INTO r_branch-low
FROM zpca
WHERE region = 'JWHCO'
AND division IN sdiv.
APPEND r_branch.
ENDSELECT.
SORT r_branch.
DELETE ADJACENT DUPLICATES FROM r_branch.
ENDFORM. " set_up_branch_range -
SPAU issues with: Without Modification Assistant: No versions found
Hi,
We have upgraded from SAP 4.7 to SAP ECC 6 with Unicode.
After the upgradation we have started working with SPAU objects.
Currently I am working on SPAU: Without Modification Assistant.
I have gone though some docs in those they have asked to compare the versions using Version Management options.
But when I am tiring to check the Version Management for many of the objects I am getting the message: No versions found
Some of the objects are for which I am getting the message No versions found are as follows :
Selection Views : SAPBRFSTANDARD 100789 23.12.2010 ABCK900506
Programs :RM06BF00 Collective Release of Purchase Requisitions
Transactions FEBA A_1234 13.07.2006 XYZK906487 Postprocess Electronic Bank Statmt
Transaction Variants O4_TIGER1 D_ABCD 18.06.2005 AB5K901250
Screen Variants O4_TIGER1_0999 D_ABC 18.06.2005 AB5K901250
Message Classes 38 General Basis: ABAP Runtime Environment
Maintenance and Transport Objects J_1IEWT_ACKNS D_ABCDE 27.06.2008 ABC3910542
Request you to check and let us know how to proceed.
Thanks and Regards,
Prem.
<personal information removed by moderator>
Edited by: Thomas Zloch on Jan 18, 2011 12:43 PMHi,
in SPAU you will be getting three things..
1>Green light 2>yellow light and 3>Red light
when the upgrade takes place if you see any object under Green that means the changes are automatically carried to the new version from older version
for yellow it has done partially and for red you need to do manually copying the code to the new version.
You have an option is "RESET to original" if you do this , the code will be reset to what SAP provided in the new version. Your old code won't be there.
Please go through the below link to understand about SPAU and SPDD.
http://help.sap.com/saphelp_nw04s/helpdata/en/60/d6ba7bceda11d1953a0000e82de14a/content.htm
Regards,
Nagaraj -
Permanently disabling Modification Assistant
Hi everybody.
Is there a way I can permanently disable the Modification Assistant for every custom development object I ever modify ?
The Modification Assistant is extremely annoying and the project has other means of dealing with change management.
The main issue Im facing is that everytime I use Find & Replace in a program, the Modification Assistant is switched on automatically for every include that is modified using Find & Replace. This also means that the next time I want to use Find & Replace, the includes with Modification Assistant switched on can not be modified until I switch it off, as they are locked.
Is there a way I can completely disable this annoying tool for custom development ? Or at least make sure it never gets switched on once I switch it off for an include.
Thanks for any hints,
StanoI should have researched the problem a bit more.
It turned out the includes were a copy of SAP standard and had the source system in TADIR still 'SAP', so a quick mass change of source system was all that was necessary.
Stano -
Spau without modification assistant
Hye all,
Im into upgradation project, In spau tcode > without modification assistant> programs, when im going for version management its displaying some 10 modified versions of tht program, now my Q is that from tht versions which i have to keep in my new version?
Full points will be rewarded.
Thanks,
Vibhahi,
you have to compare with the version which is existed currently in Production(old version) and the latest one.
sudheer.A -
Client concept for SAP SCM APO and SAP TM
Hello,
We are installing SAP SCM APO 5.1 (SNP, gATP, DP) and SAP TM 7.0 (ramp up). Both connect via CIF to ECC 6.0 SP3. As far as my knowledge goes for CIF, both master data and transactional data is exchanged via CIF.
In ECC we have a three client concept:
100 customizing only
200 customizing + master data (golden client)
300 customizing + master data + transaction data
Can we use a similar model for TM and SCM APO as well? Should we then only connect ECC-300 to TM-300 and ECC300 to SCM-300 via CIF?
I have also heard that also some ECC customizing is transferred via CIF to SCM/TM. Is that true and does that change this model?
Regards,
Rob Veenman
SAP Basis.Rob,
As a general rule of thumb, for each ECC client you will probably want an SCM client. From your landscape description, it is not clear to me in which clients you perform the everyday functions of development/test/production, but I guess you have already worked that out. Without knowing exactly how you manage your environment, I will say that it is probably a good idea to have active CIF connections between each of the three pairs of clients. Once you have set up a single connection between your first pair (ECC/SCM), you will find that setting up the second and third is pretty trivial.
Yes, quite a bit of ATP configuration can be CIFd across. Typically, you do this one time, and then lock the transfer of config out (there is a config setting in SCM to stop further transfer of config). From that point forward, any config that must be parallelled in both systems is usually done manually in both systems. Notable exceptions are Factory Calendars, units of measure, and Fiscal Periods, which can be pulled across from ECC to SCM any time you want via standard program.
Regards,
DB49 -
Modification Assistance ON Mode ?? Help !!
Hello friends,
I have switched off the Modification Assistant for my program, se38>Edit>Modification operation-->switch off the assistance.
I havn't made any changes in code.Now i want to switch ON the Modification
assistance,thus making source code again in amsked mode so as to keep proper
version management.
I have looked for such option but was not able to find .
Kindly help me to sort this problem.
Regards
JaseOnce you tansport the changes of the object and Try aftet that i think it will be switched on automatically...
-
How to improve performace for this program
Hi,
I want to improve performance for this program.Pls help me.Here is the code.
Thanks
kumar
--# SCCS: @(#)nscdprpt_rpt_fam_fweq_detail_aggr_dml.sql 2.1 08/17/05 12:16:11
--# Location: /appl/dpdm/src/sql/SCCS/s.nscdprpt_rpt_fam_fweq_detail_aggr_dml.sql
-- =============================================================================
-- Purpose:
-- DML Script to calculate aggregate rows from table NSCDPRPT.RPT_FAM_FWEQ_DETAIL
-- inserts one (1) monthly total row for each comparison type (6 of them)
-- Modification History
-- Date Version Who What
-- 28-Jun-05 V1.00 J. Myers Initial Version
-- 17-Aug-05 gzuerc Replaced UNION ALL code with INSERT's to avoid
-- Oracle error out of undo tablespace.
-- ============================================================================
-- NOTES:
-- This process pulls data from RPT_FAM_FWEQ_DETAIL table.
-- The target table RPT_FAM_FWEQ_DETAIL_AGGR is truncated by plan_ctry and loaded daily;
-- it is the data used in the Forecast Accuracy Measurements Report.
-- The input data is 'wide' (6 quantities), and this script outputs a single
-- row for each quantity as a 'thin' table (single column F1_QTY and F2_QTY shared by all quantities), and
-- with a ROW_TYPE = 'TOTAL'
-- Two (2) other scripts add additional rows to this table as follows:
-- 1) nscdprpt_rpt_fam_FWEQ_detail_aggr_sesn_avg_dml.sql => calculates the
-- total quantities F1_QTY, F2_QTY and AE for each LEVEL_VALUE
-- 2) nscdprpt_rpt_fam_FWEQ_detail_aggr_pct_swg_dml.sql => calculates the
-- percent swing in quantities between DISP_EVENTS for each grouping
-- of PLAN_CTRY, DIVISION, SEASON and TRG_EVENT_NUM for only LEVEL_TYPE = 'SUB_CAT'
-- =============================================================================
-- The result set from joining RPT_FAM_FWEQ_DETAIL rows with comparison types
-- is inserted into the table RPT_FAM_FWEQ_DETAIL_AGGR
INSERT INTO rpt_fam_FWEQ_detail_aggr
SELECT plan_ctry,
division,
season,
monthly_seq,
bucket_month_date,
tier_num,
level_num,
tier_volume,
trg_event_num,
disp_event_num,
max_event_num,
compare_name,
first_display_event_num,
level_type,
level_value,
'TOTAL' AS row_type,
material,
key_material,
sap_cat_cd,
sap_cat_desc,
sap_sub_cat_cd,
sap_sub_cat_desc,
sty_colr_sdesc,
sty_grp_nbr,
sty_grp_desc,
matl_typ,
sap_prod_typ_grp, -- 'Type Group' in Brio
typ_grp_desc, -- 'Type Group' in Brio
curr_prod_i2_life_cyc_cd,
NULL AS promo_ind, -- for future use
-- Each RPT_FAM_FWEQ_DETAIL row's eight (8) quantity columns are broken down
-- into F1_QTY from DISP_aaaa_QTY, F2_QTY from TRG_aaaa_QTY and
-- AE from aaaa_AE where 'aaaa' is equal to one of the COMPARE_TYPEs below:
-- F1_QTY
CASE WHEN compare_type = 'DELIVERY_PLAN' THEN
disp_dlvry_plan_qty
WHEN compare_type = 'NET' THEN
disp_net_qty
WHEN compare_type = 'NET_AO' THEN
disp_ao_qty
WHEN compare_type = 'NET_FTRS' THEN
disp_futr_qty
WHEN compare_type = 'NET_REPLENS' THEN
disp_replen_qty
WHEN compare_type = 'AUTH_FTRS' THEN
disp_auth_futr_qty
END as f1_qty,
-- F2_QTY
CASE WHEN compare_type = 'DELIVERY_PLAN' THEN
trg_dlvry_plan_qty
WHEN compare_type = 'NET' THEN
trg_net_qty
WHEN compare_type = 'NET_AO' THEN
trg_ao_qty
WHEN compare_type = 'NET_FTRS' THEN
trg_futr_qty
WHEN compare_type = 'NET_REPLENS' THEN
trg_replen_qty
WHEN compare_type = 'AUTH_FTRS' THEN
trg_auth_futures_qty
END as f2_qty,
-- AE
CASE WHEN compare_type = 'DELIVERY_PLAN' THEN
abs(disp_dlvry_plan_qty - trg_dlvry_plan_qty)
WHEN compare_type = 'NET' THEN
abs(disp_net_qty - trg_net_qty)
WHEN compare_type = 'NET_AO' THEN
abs(disp_ao_qty - trg_ao_qty)
WHEN compare_type = 'NET_FTRS' THEN
abs(disp_futr_qty - trg_futr_qty)
WHEN compare_type = 'NET_REPLENS' THEN
abs(disp_replen_qty - trg_replen_qty)
WHEN compare_type = 'AUTH_FTRS' THEN
abs(disp_auth_futr_qty - trg_auth_futures_qty)
END as ae,
SYSDATE AS zz_insert_tmst
FROM
-- The following in-line view provides three (3) result sets from the RPT_FAM_FWEQ_DETAIL table
-- This in-line view returns only LEVEL_NUM = 1 or LEVEL_TYPE = 'SUB_CAT' data
SELECT plan_ctry,
division,
season,
monthly_seq,
bucket_month_date,
tier_num,
level_num,
tier_volume,
trg_event_num,
trg_event_type,
disp_event_num,
max_event_num,
first_display_event_num,
level_type,
level_value,
-- The following NULL'd columns' values cannot be saved due to aggregation
NULL AS material,
NULL AS key_material,
sap_cat_cd,
sap_cat_desc,
sap_sub_cat_cd,
sap_sub_cat_desc,
NULL AS sty_colr_sdesc,
NULL AS sty_grp_nbr,
NULL AS sty_grp_desc,
NULL AS matl_typ,
sap_prod_typ_grp, -- 'Type Group' in Brio
typ_grp_desc, -- 'Type Group' in Brio
NULL AS curr_prod_i2_life_cyc_cd,
sum(disp_net_qty) AS disp_net_qty,
sum(trg_net_qty) AS trg_net_qty,
-- ABS(sum(trg_net_qty) - sum(disp_net_qty)) AS net_AE,
sum(disp_dlvry_plan_qty) AS disp_dlvry_plan_qty,
sum(trg_dlvry_plan_qty) AS trg_dlvry_plan_qty,
-- ABS(sum(trg_dlvry_plan_qty) - sum(disp_dlvry_plan_qty)) AS dlvry_plan_AE,
sum(disp_futr_qty) AS disp_futr_qty,
sum(trg_futr_qty) AS trg_futr_qty,
-- ABS(sum(trg_futr_qty) - sum(disp_futr_qty)) AS futr_AE,
sum(disp_ao_qty) AS disp_ao_qty,
sum(trg_ao_qty) AS trg_ao_qty,
-- ABS(sum(trg_ao_qty) - sum(disp_ao_qty)) AS ao_AE,
sum(disp_replen_qty) AS disp_replen_qty,
sum(trg_replen_qty) AS trg_replen_qty,
-- ABS(sum(trg_replen_qty) - sum(disp_replen_qty)) AS replen_AE,
sum(disp_futr_qty) AS disp_auth_futr_qty,
sum(trg_auth_futures_qty) AS trg_auth_futures_qty --,
-- ABS(sum(trg_auth_futures_qty) - sum(disp_futr_qty)) AS auth_futures_AE
FROM rpt_fam_FWEQ_detail
WHERE plan_ctry &where_plan_ctry
and level_num = 1 -- 'SUB-CAT'
-- AND (promo_ind <> 'Y' OR promo_ind IS null)
GROUP BY plan_ctry,
division,
season,
monthly_seq,
bucket_month_date,
tier_num,
level_num,
tier_volume,
trg_event_num,
trg_event_type,
disp_event_num,
max_event_num,
first_display_event_num,
level_type,
level_value,
sap_cat_cd,
sap_cat_desc,
sap_sub_cat_cd,
sap_sub_cat_desc,
sap_prod_typ_grp, -- 'Type Group' in Brio
typ_grp_desc -- 'Type Group' in Brio
) dtl,
-- The following in-line view returns all of the different combinations
-- of comparison types in the RPT_FAM_FWEQ_DETAIL table
-- This select returns the pairing of all forecast types
SELECT event_type, compare_type, compare_name
from
(SELECT event_type, compare_type, compare_type_description || ' to ' || compare_type_description AS compare_name
FROM rpt_fam_compare_types
WHERE event_type = 'FCST'
UNION
-- This select returns the pairing of all bookings types with forecast types
SELECT bkng.event_type, fcst.compare_type, bkng.compare_type_description || ' to ' || fcst.compare_type_description AS compare_name
FROM rpt_fam_compare_types fcst,
rpt_fam_compare_types bkng
WHERE fcst.event_type = 'FCST'
AND bkng.event_type = 'BKNG'
AND fcst.compare_type = bkng.compare_type
WHERE event_type || ' ' || compare_type <> 'FCST AUTH_FTRS'
AND compare_type NOT IN ('NET_SHIP', 'SHIP_NET_FTRS', 'NET_ETS', 'GROSS_FTRS')
) cmpr
-- The two (2) in-line views are joined by EVENT_TYPE (i.e. 'FCST' and 'BKNG')
-- to form a product of all RPT_FAM_FWEQ_DETAIL rows with comparison types
WHERE dtl.trg_event_type = cmpr.event_type
ORDER BY plan_ctry,
division,
season,
monthly_seq,
tier_num,
level_num,
tier_volume,
trg_event_num,
disp_event_num,
max_event_num,
first_display_event_num,
level_type,
level_value
COMMIT
INSERT INTO rpt_fam_FWEQ_detail_aggr
SELECT plan_ctry,
division,
season,
monthly_seq,
bucket_month_date,
tier_num,
level_num,
tier_volume,
trg_event_num,
disp_event_num,
max_event_num,
compare_name,
first_display_event_num,
level_type,
level_value,
'TOTAL' AS row_type,
material,
key_material,
sap_cat_cd,
sap_cat_desc,
sap_sub_cat_cd,
sap_sub_cat_desc,
sty_colr_sdesc,
sty_grp_nbr,
sty_grp_desc,
matl_typ,
sap_prod_typ_grp, -- 'Type Group' in Brio
typ_grp_desc, -- 'Type Group' in Brio
curr_prod_i2_life_cyc_cd,
NULL AS promo_ind, -- for future use
-- Each RPT_FAM_FWEQ_DETAIL row's eight (8) quantity columns are broken down
-- into F1_QTY from DISP_aaaa_QTY, F2_QTY from TRG_aaaa_QTY and
-- AE from aaaa_AE where 'aaaa' is equal to one of the COMPARE_TYPEs below:
-- F1_QTY
CASE WHEN compare_type = 'DELIVERY_PLAN' THEN
disp_dlvry_plan_qty
WHEN compare_type = 'NET' THEN
disp_net_qty
WHEN compare_type = 'NET_AO' THEN
disp_ao_qty
WHEN compare_type = 'NET_FTRS' THEN
disp_futr_qty
WHEN compare_type = 'NET_REPLENS' THEN
disp_replen_qty
WHEN compare_type = 'AUTH_FTRS' THEN
disp_auth_futr_qty
END as f1_qty,
-- F2_QTY
CASE WHEN compare_type = 'DELIVERY_PLAN' THEN
trg_dlvry_plan_qty
WHEN compare_type = 'NET' THEN
trg_net_qty
WHEN compare_type = 'NET_AO' THEN
trg_ao_qty
WHEN compare_type = 'NET_FTRS' THEN
trg_futr_qty
WHEN compare_type = 'NET_REPLENS' THEN
trg_replen_qty
WHEN compare_type = 'AUTH_FTRS' THEN
trg_auth_futures_qty
END as f2_qty,
-- AE
CASE WHEN compare_type = 'DELIVERY_PLAN' THEN
abs(disp_dlvry_plan_qty - trg_dlvry_plan_qty)
WHEN compare_type = 'NET' THEN
abs(disp_net_qty - trg_net_qty)
WHEN compare_type = 'NET_AO' THEN
abs(disp_ao_qty - trg_ao_qty)
WHEN compare_type = 'NET_FTRS' THEN
abs(disp_futr_qty - trg_futr_qty)
WHEN compare_type = 'NET_REPLENS' THEN
abs(disp_replen_qty - trg_replen_qty)
WHEN compare_type = 'AUTH_FTRS' THEN
abs(disp_auth_futr_qty - trg_auth_futures_qty)
END as ae,
SYSDATE AS zz_insert_tmst
FROM
-- This in-line view returns only LEVEL_NUM = 2 or LEVEL_TYPE = 'STYLE_GROUP' data
(SELECT plan_ctry,
division,
season,
monthly_seq,
bucket_month_date,
tier_num,
level_num,
tier_volume,
trg_event_num,
trg_event_type,
disp_event_num,
max_event_num,
first_display_event_num,
level_type,
level_value,
-- The following NULL'd columns' values cannot be saved due to aggregation
NULL AS material,
NULL AS key_material,
sap_cat_cd,
sap_cat_desc,
sap_sub_cat_cd,
sap_sub_cat_desc,
NULL AS sty_colr_sdesc,
sty_grp_nbr,
sty_grp_desc,
NULL AS matl_typ,
sap_prod_typ_grp, -- 'Type Group' in Brio
typ_grp_desc, -- 'Type Group' in Brio
NULL AS curr_prod_i2_life_cyc_cd,
sum(disp_net_qty) AS disp_net_qty,
sum(trg_net_qty) AS trg_net_qty,
-- ABS(sum(trg_net_qty) - sum(disp_net_qty)) AS net_AE,
sum(disp_dlvry_plan_qty) AS disp_dlvry_plan_qty,
sum(trg_dlvry_plan_qty) AS trg_dlvry_plan_qty,
-- ABS(sum(trg_dlvry_plan_qty) - sum(disp_dlvry_plan_qty)) AS dlvry_plan_AE,
sum(disp_futr_qty) AS disp_futr_qty,
sum(trg_futr_qty) AS trg_futr_qty,
-- ABS(sum(trg_futr_qty) - sum(disp_futr_qty)) AS futr_AE,
sum(disp_ao_qty) AS disp_ao_qty,
sum(trg_ao_qty) AS trg_ao_qty,
-- ABS(sum(trg_ao_qty) - sum(disp_ao_qty)) AS ao_AE,
sum(disp_replen_qty) AS disp_replen_qty,
sum(trg_replen_qty) AS trg_replen_qty,
-- ABS(sum(trg_replen_qty) - sum(disp_replen_qty)) AS replen_AE,
sum(disp_futr_qty) AS disp_auth_futr_qty,
sum(trg_auth_futures_qty) AS trg_auth_futures_qty --,
-- ABS(sum(trg_auth_futures_qty) - sum(disp_futr_qty)) AS auth_futures_AE
FROM rpt_fam_FWEQ_detail
WHERE plan_ctry &where_plan_ctry
and level_num = 2 -- 'STYLE-GRP' or 'STYLE'
-- AND (promo_ind <> 'Y' OR promo_ind IS null)
GROUP BY plan_ctry,
division,
season,
monthly_seq,
bucket_month_date,
tier_num,
level_num,
tier_volume,
trg_event_num,
trg_event_type,
disp_event_num,
max_event_num,
first_display_event_num,
level_type,
level_value,
sap_cat_cd,
sap_cat_desc,
sap_sub_cat_cd,
sap_sub_cat_desc,
sty_grp_nbr,
sty_grp_desc,
sap_prod_typ_grp, -- 'Type Group' in Brio
typ_grp_desc -- 'Type Group' in Brio
) dtl,
-- The following in-line view returns all of the different combinations
-- of comparison types in the RPT_FAM_FWEQ_DETAIL table
-- This select returns the pairing of all forecast types
SELECT event_type, compare_type, compare_name
from
(SELECT event_type, compare_type, compare_type_description || ' to ' || compare_type_description AS compare_name
FROM rpt_fam_compare_types
WHERE event_type = 'FCST'
UNION
-- This select returns the pairing of all bookings types with forecast types
SELECT bkng.event_type, fcst.compare_type, bkng.compare_type_description || ' to ' || fcst.compare_type_description AS compare_name
FROM rpt_fam_compare_types fcst,
rpt_fam_compare_types bkng
WHERE fcst.event_type = 'FCST'
AND bkng.event_type = 'BKNG'
AND fcst.compare_type = bkng.compare_type
WHERE event_type || ' ' || compare_type <> 'FCST AUTH_FTRS'
AND compare_type NOT IN ('NET_SHIP', 'SHIP_NET_FTRS', 'NET_ETS', 'GROSS_FTRS')
) cmpr
-- The two (2) in-line views are joined by EVENT_TYPE (i.e. 'FCST' and 'BKNG')
-- to form a product of all RPT_FAM_FWEQ_DETAIL rows with comparison types
WHERE dtl.trg_event_type = cmpr.event_type
ORDER BY plan_ctry,
division,
season,
monthly_seq,
tier_num,
level_num,
tier_volume,
trg_event_num,
disp_event_num,
max_event_num,
first_display_event_num,
level_type,
level_value
COMMIT
INSERT INTO rpt_fam_FWEQ_detail_aggr
SELECT plan_ctry,
division,
season,
monthly_seq,
bucket_month_date,
tier_num,
level_num,
tier_volume,
trg_event_num,
disp_event_num,
max_event_num,
compare_name,
first_display_event_num,
level_type,
level_value,
'TOTAL' AS row_type,
material,
key_material,
sap_cat_cd,
sap_cat_desc,
sap_sub_cat_cd,
sap_sub_cat_desc,
sty_colr_sdesc,
sty_grp_nbr,
sty_grp_desc,
matl_typ,
sap_prod_typ_grp, -- 'Type Group' in Brio
typ_grp_desc, -- 'Type Group' in Brio
curr_prod_i2_life_cyc_cd,
NULL AS promo_ind, -- for future use
-- Each RPT_FAM_FWEQ_DETAIL row's eight (8) quantity columns are broken down
-- into F1_QTY from DISP_aaaa_QTY, F2_QTY from TRG_aaaa_QTY and
-- AE from aaaa_AE where 'aaaa' is equal to one of the COMPARE_TYPEs below:
-- F1_QTY
CASE WHEN compare_type = 'DELIVERY_PLAN' THEN
disp_dlvry_plan_qty
WHEN compare_type = 'NET' THEN
disp_net_qty
WHEN compare_type = 'NET_AO' THEN
disp_ao_qty
WHEN compare_type = 'NET_FTRS' THEN
disp_futr_qty
WHEN compare_type = 'NET_REPLENS' THEN
disp_replen_qty
WHEN compare_type = 'AUTH_FTRS' THEN
disp_auth_futr_qty
END as f1_qty,
-- F2_QTY
CASE WHEN compare_type = 'DELIVERY_PLAN' THEN
trg_dlvry_plan_qty
WHEN compare_type = 'NET' THEN
trg_net_qty
WHEN compare_type = 'NET_AO' THEN
trg_ao_qty
WHEN compare_type = 'NET_FTRS' THEN
trg_futr_qty
WHEN compare_type = 'NET_REPLENS' THEN
trg_replen_qty
WHEN compare_type = 'AUTH_FTRS' THEN
trg_auth_futures_qty
END as f2_qty,
-- AE
CASE WHEN compare_type = 'DELIVERY_PLAN' THEN
abs(disp_dlvry_plan_qty - trg_dlvry_plan_qty)
WHEN compare_type = 'NET' THEN
abs(disp_net_qty - trg_net_qty)
WHEN compare_type = 'NET_AO' THEN
abs(disp_ao_qty - trg_ao_qty)
WHEN compare_type = 'NET_FTRS' THEN
abs(disp_futr_qty - trg_futr_qty)
WHEN compare_type = 'NET_REPLENS' THEN
abs(disp_replen_qty - trg_replen_qty)
WHEN compare_type = 'AUTH_FTRS' THEN
abs(disp_auth_futr_qty - trg_auth_futures_qty)
END as ae,
SYSDATE AS zz_insert_tmst
FROM
-- This in-line view returns only LEVEL_NUM = 3 or LEVEL_TYPE = 'MATL' data
(SELECT plan_ctry,
division,
season,
monthly_seq,
bucket_month_date,
tier_num,
level_num,
tier_volume,
trg_event_num,
trg_event_type,
disp_event_num,
max_event_num,
first_display_event_num,
level_type,
level_value,
material,
key_material,
sap_cat_cd,
sap_cat_desc,
sap_sub_cat_cd,
sap_sub_cat_desc,
sty_colr_sdesc,
sty_grp_nbr,
sty_grp_desc,
matl_typ,
sap_prod_typ_grp, -- 'Type Group' in Brio
typ_grp_desc, -- 'Type Group' in Brio
curr_prod_i2_life_cyc_cd,
sum(disp_net_qty) AS disp_net_qty,
sum(trg_net_qty) AS trg_net_qty,
-- ABS(sum(trg_net_qty) - sum(disp_net_qty)) AS net_AE,
sum(disp_dlvry_plan_qty) AS disp_dlvry_plan_qty,
sum(trg_dlvry_plan_qty) AS trg_dlvry_plan_qty,
-- ABS(sum(trg_dlvry_plan_qty) - sum(disp_dlvry_plan_qty)) AS dlvry_plan_AE,
sum(disp_futr_qty) AS disp_futr_qty,
sum(trg_futr_qty) AS trg_futr_qty,
-- ABS(sum(trg_futr_qty) - sum(disp_futr_qty)) AS futr_AE,
sum(disp_ao_qty) AS disp_ao_qty,
sum(trg_ao_qty) AS trg_ao_qty,
-- ABS(sum(trg_ao_qty) - sum(disp_ao_qty)) AS ao_AE,
sum(disp_replen_qty) AS disp_replen_qty,
sum(trg_replen_qty) AS trg_replen_qty,
-- ABS(sum(trg_replen_qty) - sum(disp_replen_qty)) AS replen_AE,
sum(disp_futr_qty) AS disp_auth_futr_qty,
sum(trg_auth_futures_qty) AS trg_auth_futures_qty --,
-- ABS(sum(trg_auth_futures_qty) - sum(disp_futr_qty)) AS auth_futures_AE
FROM rpt_fam_FWEQ_detail
WHERE plan_ctry &where_plan_ctry
and level_num = 3 -- 'MATERIAL'
-- AND promo_ind <> 'Y'
GROUP BY plan_ctry,
division,
season,
monthly_seq,
bucket_month_date,
tier_num,
level_num,
tier_volume,
trg_event_num,
trg_event_type,
disp_event_num,
max_event_num,
first_display_event_num,
level_type,
level_value,
material,
key_material,
sap_cat_cd,
sap_cat_desc,
sap_sub_cat_cd,
sap_sub_cat_desc,
sty_colr_sdesc,
sty_grp_nbr,
sty_grp_desc,
matl_typ,
sap_prod_typ_grp, -- 'Type Group' in Brio
typ_grp_desc, -- 'Type Group' in Brio
curr_prod_i2_life_cyc_cd
) dtl,
-- The following in-line view returns all of the different combinations
-- of comparison types in the RPT_FAM_FWEQ_DETAIL table
-- This select returns the pairing of all forecast types
SELECT event_type, compare_type, compare_name
from
(SELECT event_type, compare_type, compare_type_description || ' to ' || compare_type_description AS compare_name
FROM rpt_fam_compare_types
WHERE event_type = 'FCST'
UNION
-- This select returns the pairing of all bookings types with forecast types
SELECT bkng.event_type, fcst.compare_type, bkng.compare_type_description || ' to ' || fcst.compare_type_description AS compare_name
FROM rpt_fam_compare_types fcst,
rpt_fam_compare_types bkng
WHERE fcst.event_type = 'FCST'
AND bkng.event_type = 'BKNG'
AND fcst.compare_type = bkng.compare_type
WHERE event_type || ' ' || compare_type <> 'FCST AUTH_FTRS'
AND compare_type NOT IN ('NET_SHIP', 'SHIP_NET_FTRS', 'NET_ETS', 'GROSS_FTRS')
) cmpr
-- The two (2) in-line views are joined by EVENT_TYPE (i.e. 'FCST' and 'BKNG')
-- to form a product of all RPT_FAM_FWEQ_DETAIL rows with comparison types
WHERE dtl.trg_event_type = cmpr.event_type
ORDER BY plan_ctry,
division,
season,
monthly_seq,
tier_num,
level_num,
tier_volume,
trg_event_num,
disp_event_num,
max_event_num,
first_display_event_num,
level_type,
level_value
COMMIT
/I agree.
SELECT ticket_no,name_of_the_passenger..
FROM ticket_master
WHERE ticket_no NOT IN
(SELECT Ticket_no
FROM ticket_cancellations
WHERE trip_id = my_trip_id);
This involves creating a little temp table for each record in ticket_no. Then full scanning it.
Change it to
SELECT ticket_no,name_of_the_passenger..
FROM ticket_master B
WHERE ticket_no NOT EXISTS
(SELECT null
FROM ticket_cancellations A
WHERE A.ticket_no = B.ticket_no
AND trip_id = my_trip_id);
Then you get an index hit in both cases. -
Looking for a program like OnyX or Cocktail...
Well, I've got Windows 7 all up and running, and now, I'm looking for a program for Windows that's similar to OnyX. I know Windows has the "Disk Cleanup" feature, but it's really not that great.
Anybody know of any programs that would do the same things as OnyX or Cocktail for OS X on Windows?
Thanks.CCleaner is a must-have for windows. It cleans out invalid registry entries which slow your computer down. They update the software often.
http://www.ccleaner.com/
If you're trying CCleaner, try Defraggler also (same dev). It has a feature that only defrags files that need it.
http://www.piriform.com/defraggler
P.S. both of these are freeware -
DBMS_SCHEDULER wait for job/program to finish
Hello All,
I've run into a little limitation on my understanding of DBMS_SCHEDULER.
I have an executable script which does a network scan. My goal is to lauch this from an application, and wait (could be 5 minutes or 2 hours) for the scan to finish before I return the results.
Where I'm a little confused, is the flow of the entire process works when I want to wait for the program to complete:
1 - Define a program?
2 - Apply arguments?
3 - Apply credentials
4 - Define a chain?
Literally, I'm not sure how to tackle this task. I simply wish to launch to job and wait for it to finish before I go retreive the file from the server. This is what I have so far, just bits and pieces.
Mayeb I simply missed somethign in the docs, and I'm overcomplicate things.
Thanks in advance to the community for you assistance.
Jan S.
BEGIN
dbms_scheduler.create_program(
program_name => 'network_scan',
program_type => 'executable',
number_of_arguments => 5,
program_action => 'scan_network.py',
enabled => FALSE);
dbms_scheduler.define_program_argument('network_scan',1,'x01=1');
dbms_scheduler.define_program_argument('network_scan',2,'x02=192.168.1.1');
dbms_scheduler.define_program_argument('network_scan',3,'x03=24');
dbms_scheduler.define_program_argument('network_scan',4,'x04=D');
dbms_scheduler.define_program_argument('network_scan',5,'x05=1521-1523,7777');
vJobName := dbms_scheduler.generate_job_name('NET_SCAN_');
dbms_scheduler.create_job(job_name => vJobName,
job_type => 'EXECUTABLE',
job_action => '/usr/bin/scan_nework.sh',
number_of_arguments => 5,
enabled => FALSE,
auto_drop => FALSE,
comments => 'Network');
dbms_scheduler.set_attribute(vJobName,'credential_name', 'SUCREDENTIALS');
dbms_scheduler.run_job(vJobName,FALSE);
dbms_scheduler.create_chain (
chain_name => 'net_scan_chain',
rule_set_name => NULL,
evaluation_interval => NULL,
comments => NULL);
dbms_scheduler.define_chain_step('net_scan_chain', 'step1', 'network_scan');
SELECT additional_info, external_log_id
INTO l_additional_info, l_external_log_id
FROM (SELECT log_id,
additional_info,
REGEXP_SUBSTR(additional_info,'job[_0-9]*') AS external_log_id
FROM dba_scheduler_job_run_details
WHERE job_name = vJobName
ORDER BY log_id DESC)
WHERE ROWNUM = 1;
DBMS_OUTPUT.put_line('ADDITIONAL_INFO: ' || l_additional_info);
DBMS_OUTPUT.put_line('EXTERNAL_LOG_ID: ' || l_external_log_id);
-- Wait at least 3 second because its distributed
dbms_lock.sleep(3);
SELECT job_name, status, error#, additional_info
FROM dba_scheduler_job_run_details
WHERE job_name= vJobName;
dbms_lob.createtemporary(l_clob, FALSE);
dbms_scheduler.get_file(
source_file => l_external_log_id ||'_stdout',
credential_name => 'ORACLECREDENTIALS',
file_contents => l_clob,
source_host => NULL);
DBMS_OUTPUT.put_line('stdout:');
DBMS_OUTPUT.put_line(l_clob);
k Scan');See Tom's last reply in this AskTom thread. It shows how to use the DBMS_ALERT package to signal you.
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:5320945700346034393
Maybe you are looking for
-
Multiple users on one mac sharing one itunes library
Hi, I read through this thread https://discussions.apple.com/thread/3753008 and was able to have two users share one itunes library on one computer (yay). However, for the new user, she can't add any music files to her itunes even though I already m
-
How do I report poor service?
The 4G service along the UP-NW Metra Line from the Cumberland stop in Des Plaines, IL all the way to Ogilvie Transportation Center in Chicago is unacceptably poor. Recently, both data and voice service have been failing between the Jefferson Park and
-
Hello, We have a customised transaction, that displays data for a table in the same way as SCU3 does. The problem is, giving user's access to this transaction requires them to have access to SCU3 which is forbidden. The program used calls for transac
-
Error Re-installing photoshop and premiere elements 9?
Hi, I have problems reibstalling my photoshop and premiere. The serial numbers work. It starts to upload properly. Then when its almost finished an install wizard error message flashes up. Can u help please? I just tried talking to rahul and kashul i
-
JDeveloper BPEL Designer Extension Points?
I'm wondering if there's any way to extend JDeveloper BPEL Designer? I know there's something for Eclipse - see for example http://eclipse.org/proposals/bpel-designer/main.html : "Extension Points The project should be architected as a set of plug-in