Execution of standard Script
Hello All,
I have the standard script layout for PO i.e MEDRUCK and the driver prog SAPFM06P. suppose i want to execute it without any modifications, how should i execute it and see the details? Can someone plz tell me with details.
Thanks in advance,
Regards,
Srinivas
Hi,
If you design the Layout and the Driver program as per the SAP, then you can do the cinfiguration from NACE transaction code, goto NACE and select EF application type and press Output types, then select NEU output type then press Processing routines, there enter your Layout name as well as the Driver program. here your config will be over, then foloow my first answer to view the Print preview.
Please assign the points for all the helpfl answers
Regards
Sudheer
Similar Messages
-
Tables and structures are used in a standard scripts
how to find which tables and structures are used in a standard scripts?
pls explain step by step process...
Edited by: abap on Jun 21, 2008 4:36 PMGo to Transaction SE80, Select Program and paste that program name below..
Then drop down the tree of that program...then you will find option " Dict. Structures"..
Here you can find the tables which has been you for that transaction / program.
Regards,
Santosh -
How can I make the execution of my script faster
Hi everyone
How can I make the execution of my script faster, because it takes a lot of time to execute? The following is my script:
DECLARE
CURSOR C1 IS
SELECT A.ITEM_CODE,A.STORE_CODE,ST_UNIT,SA_UNIT,CART_QTY,QUANTITY_ON_HAND
FROM PROJ.IM_LOCATION A
WHERE A.ITEM_CODE BETWEEN :ITEM_FRM AND :ITEM_TO
AND A.STORE_CODE = :FRM_STORE
ORDER BY
A.STORE_CODE ;
CURSOR C2 IS
SELECT A.ITEM_CODE,A.STORE_CODE,ST_UNIT,SA_UNIT,CART_QTY,QUANTITY_ON_HAND
FROM PROJ.IM_LOCATION A
WHERE A.ITEM_CODE BETWEEN :ITEM_FRM AND :ITEM_TO
AND A.STORE_CODE = :FRM_STORE
ORDER BY
A.STORE_CODE ;
big_syb_qty_issue number(12,3);
small_syb_qty_issue number(12,3);
big_issue number(12,3);
small_issue number(12,3);
item_syb_code varchar2(30);
big_syb_qty_rec number(12,3);
small_syb_qty_rec number(12,3);
BI_SUPP_REC number(12,3);
SM_SUPP_REC number(12,3);
big_syb_qty_ADJ number(12,3);
small_syb_qty_ADJ number(12,3);
big_ADJ number(12,3);
small_ADJ number(12,3);
big_syb_qty_rec_iner number(12,3);
small_syb_qty_rec_iner number(12,3);
BI_INTER number(12,3);
SM_INTER number(12,3);
cl_big_qty number(12,3);
cl_small_qty number(12,3);
cl_big_qty1 number(12,3);
cl_small_qty1 number(12,3);
BIG_QTY_OPEN number(12,3);
SMALL_QTY_OPEN number(12,3);
BEGIN
IF ((:FRM_STORE IS NULL) OR (:ITEM_FRM IS NULL) OR (:ITEM_TO IS NULL) OR (:DATE_FRM IS NULL)) THEN
SHOW_MESSAGE('You Should Enter the Parameters Values Correctly Please try again !!!! ');
RAISE FORM_TRIGGER_FAILURE;
GO_FIELD('DATE_FRM');
END IF;
DELETE FROM STOCK_AT_DATE_REP2;
COMMIT;
cl_big_qty := 0;
cl_small_qty := 0;
-- MESSAGE('Please Wait The System Calculating The Transactions !!!');
SET_APPLICATION_PROPERTY(CURSOR_STYLE,'BUSY');
FOR R IN C1
LOOP
cl_big_qty := R.CART_QTY ;
cl_small_qty := R.QUANTITY_ON_HAND;
-- Transerfer Data 1
BEGIN
SELECT B.ITEM_CODE,SUM(NVL(CART_QTY,0)) ,SUM(NVL(ITEM_QUANTITY,0))
INTO item_syb_code,big_syb_qty_issue,small_syb_qty_issue
FROM IM_TRANS_ISSUE_HEADER A,IM_TRANS_ISSUE_DETAILS B
WHERE A.DOC_CODE = B.DOC_CODE
AND B.DEL_STORE = R.STORE_CODE
AND ITEM_CODE = R.ITEM_CODE
AND DOC_DATE > :DATE_TO
GROUP BY
B.ITEM_CODE;
-- SHOW_MESSAGE('ISSUED BIG'||' '||big_syb_qty_issue);
exception
when no_data_found then big_syb_qty_issue := 0;
small_syb_qty_issue := 0;
when others then MESSAGE(10,sqlerrm);
END ;
-- Goods Received Data From Supplier 1
BEGIN
SELECT B.ITEM_CODE,SUM(B.CART_QTY),SUM(ITEM_QUANTITY)
INTO item_syb_code,big_syb_qty_rec,small_syb_qty_rec
FROM IM_GOODS_RECIEVE_HEADER A,IM_GOODS_RECIEVE_DETAILS B
WHERE A.DOC_CODE = B.DOC_CODE
AND STORE_CODE = R.STORE_CODE
AND ITEM_CODE = R.ITEM_CODE
AND DOC_DATE > :DATE_TO
GROUP BY
B.ITEM_CODE;
-- SHOW_MESSAGE('RECEIVED FROM SUPPLIER BIG'||' '||big_syb_qty_rec);
exception
when no_data_found then big_syb_qty_rec := 0;
small_syb_qty_rec := 0;
when others then message(10,sqlerrm);
END ;
-- Adjustement Data 1
BEGIN
SELECT B.ITEM_CODE ,SUM(NVL(CART_QTY,0)) ADJUST_QTY,SUM(NVL(ITEM_QUANTITY,0))
INTO item_syb_code,big_syb_qty_ADJ,small_syb_qty_ADJ
FROM IM_ADJUST_HEADER A,IM_ADJUST_DETAILS B
WHERE A.DOC_CODE = B.DOC_CODE
AND B.STORE_CODE = R.STORE_CODE
AND ITEM_CODE = R.ITEM_CODE
AND A.DOC_DATE > :DATE_TO
GROUP BY
B.ITEM_CODE;
-- SHOW_MESSAGE('Adjust BIG'||' '||big_syb_qty_ADJ);
exception
when no_data_found then big_syb_qty_ADJ := 0;
small_syb_qty_ADJ := 0;
when others then message(10,sqlerrm);
END ;
-- Goods Received Data From Stores 1
BEGIN
SELECT B.ITEM_CODE,SUM(B.CART_QTY),SUM(ITEM_QUANTITY)
INTO item_syb_code,big_syb_qty_rec_iner,small_syb_qty_rec_iner
FROM IM_TRANS_REC_HEADER A,IM_TRANS_REC_DETAILS B
WHERE A.DOC_CODE = B.DOC_CODE
AND REC_STORE = R.STORE_CODE
AND ITEM_CODE = R.ITEM_CODE
AND DOC_DATE > :DATE_TO
GROUP BY
B.ITEM_CODE;
-- show_message('here');
-- SHOW_MESSAGE('Received From Stores BIG'||' '||big_syb_qty_rec_iner);
exception
when no_data_found then
big_syb_qty_rec_iner := 0;
small_syb_qty_rec_iner := 0;
when others then message(10,sqlerrm);
END ;
cl_big_qty := (NVL(cl_big_qty,0) + NVL(big_syb_qty_issue,0));
cl_big_qty := (NVL(cl_big_qty,0) - NVL(big_syb_qty_rec,0));
cl_big_qty := (NVL(cl_big_qty,0) - NVL(big_syb_qty_rec_iner,0));
big_syb_qty_ADJ := -1 * NVL(big_syb_qty_ADJ,0);
cl_big_qty := (NVL(cl_big_qty,0) + NVL(big_syb_qty_ADJ,0));
-- srw.message(2000,'cl_small_qty'||cl_small_qty);
cl_small_qty := (NVL(cl_small_qty,0) + NVL(small_syb_qty_issue,0));
cl_small_qty := (NVL(cl_small_qty,0) - NVL(small_syb_qty_rec,0));
cl_small_qty := (NVL(cl_small_qty,0) - NVL(small_syb_qty_rec_iner,0));
small_syb_qty_ADJ := -1 * NVL(small_syb_qty_ADJ,0);
cl_small_qty := (NVL(cl_small_qty,0) + NVL(small_syb_qty_ADJ,0));
-- srw.message(2000,'cl_small_qty'||cl_small_qty); srw.message(2000,'cl_small_qty'||cl_small_qty);
INSERT INTO STOCK_AT_DATE_REP2
VALUES(R.STORE_CODE,R.ITEM_CODE,cl_big_qty,cl_small_qty,R.ST_UNIT,R.SA_UNIT,:DATE_FRM,
:DATE_TO,0,0,0,0,0,0,0,0,cl_big_qty,cl_small_qty);
cl_big_qty := 0;
cl_small_qty := 0;
END LOOP;
COMMIT;
FOR R IN C2
LOOP
-- Transerfer Data 2
BEGIN
SELECT B.ITEM_CODE,SUM(NVL(CART_QTY,0)) ,SUM(NVL(ITEM_QUANTITY,0))
INTO item_syb_code,big_issue,small_issue
FROM IM_TRANS_ISSUE_HEADER A,IM_TRANS_ISSUE_DETAILS B
WHERE A.DOC_CODE = B.DOC_CODE
AND B.DEL_STORE = R.STORE_CODE
AND ITEM_CODE = R.ITEM_CODE
AND DOC_DATE BETWEEN :DATE_FRM AND :DATE_TO
GROUP BY
B.ITEM_CODE;
-- SHOW_MESSAGE('ISSUED BIG'||' '||big_syb_qty_issue);
exception
when no_data_found then
big_issue := 0;
small_issue := 0;
when others then MESSAGE(10,sqlerrm);
END ;
-- Goods Received Data From Supplier 2
BEGIN
SELECT B.ITEM_CODE,SUM(NVL(B.CART_QTY,0)),SUM(NVL(ITEM_QUANTITY,0))
INTO item_syb_code,BI_SUPP_REC,SM_SUPP_REC
FROM IM_GOODS_RECIEVE_HEADER A,IM_GOODS_RECIEVE_DETAILS B
WHERE A.DOC_CODE = B.DOC_CODE
AND STORE_CODE = R.STORE_CODE
AND ITEM_CODE = R.ITEM_CODE
AND DOC_DATE BETWEEN :DATE_FRM AND :DATE_TO
GROUP BY
B.ITEM_CODE;
-- SHOW_MESSAGE('1- SM_SUPP_REC '||' '||SM_SUPP_REC );
-- SHOW_MESSAGE('RECEIVED FROM SUPPLIER BIG'||' '||big_syb_qty_rec);
exception
when no_data_found then
BI_SUPP_REC := 0;
SM_SUPP_REC := 0;
when others then message(10,sqlerrm);
END ;
-- Adjustement Data 2
BEGIN
SELECT B.ITEM_CODE ,SUM(NVL(CART_QTY,0)) ADJUST_QTY,SUM(NVL(ITEM_QUANTITY,0))
INTO item_syb_code,big_ADJ,small_ADJ
FROM IM_ADJUST_HEADER A,IM_ADJUST_DETAILS B
WHERE A.DOC_CODE = B.DOC_CODE
AND B.STORE_CODE = R.STORE_CODE
AND ITEM_CODE = R.ITEM_CODE
AND A.DOC_DATE BETWEEN :DATE_FRM AND :DATE_TO
GROUP BY
B.ITEM_CODE;
-- SHOW_MESSAGE('Adjust BIG'||' '||big_syb_qty_ADJ);
exception
when no_data_found then
big_ADJ := 0;
small_ADJ := 0;
when others then message(10,sqlerrm);
END ;
-- Goods Received Data From Stores 2
BEGIN
SELECT B.ITEM_CODE,SUM(NVL(B.CART_QTY,0)),SUM(NVL(ITEM_QUANTITY,0))
INTO item_syb_code,BI_INTER,SM_INTER
FROM IM_TRANS_REC_HEADER A,IM_TRANS_REC_DETAILS B
WHERE A.DOC_CODE = B.DOC_CODE
AND REC_STORE = R.STORE_CODE
AND ITEM_CODE = R.ITEM_CODE
AND DOC_DATE BETWEEN :DATE_FRM AND :DATE_TO
GROUP BY
B.ITEM_CODE;
-- show_message('here');
-- SHOW_MESSAGE('Received From Stores BIG'||' '||big_syb_qty_rec_iner);
exception
when no_data_found then
BI_INTER := 0;
SM_INTER := 0;
when others then message(10,sqlerrm);
END ;
BEGIN
BIG_QTY_OPEN := 0;
SMALL_QTY_OPEN := 0;
BEGIN
SELECT NVL(S_BIG_QTY_OPEN,0) ,NVL(S_SMALL_QTY_OPEN,0)
INTO
BIG_QTY_OPEN,SMALL_QTY_OPEN
FROM STOCK_AT_DATE_REP2
WHERE S_STORE_CODE = R.STORE_CODE
AND S_ITEM_CODE = R.ITEM_CODE;
END;
BIG_QTY_OPEN := ((BIG_QTY_OPEN) + NVL(big_issue,0));
BIG_QTY_OPEN := ((BIG_QTY_OPEN) - NVL(BI_SUPP_REC,0));
big_adj := -1 * NVL(big_adj,0);
BIG_QTY_OPEN := ((BIG_QTY_OPEN) + NVL(big_adj,0));
BIG_QTY_OPEN := ((BIG_QTY_OPEN) - NVL(BI_INTER,0));
SMALL_QTY_OPEN := ((SMALL_QTY_OPEN) + NVL(SMALL_issue,0));
SMALL_QTY_OPEN := ((SMALL_QTY_OPEN) - NVL(SM_SUPP_REC ,0));
SMALL_adj := -1 * NVL(SMALL_adj,0);
SMALL_QTY_OPEN := ((SMALL_QTY_OPEN) + NVL(SMALL_adj,0));
SMALL_QTY_OPEN := ((SMALL_QTY_OPEN) - NVL(SM_INTER,0));
END;
BEGIN
UPDATE STOCK_AT_DATE_REP2
SET BIG_SUP_REC = BI_SUPP_REC,
SMALL_SUP_REC = SM_SUPP_REC,
BIG_ISSUE_TRAN = big_issue,
SMALL_ISSUE_TRAN = SMALL_issue,
BIG_ADJUST = big_adj,
SMALL_ADJUST = SMALL_adj,
BIG_INTER_REC = BI_INTER,
SMALL_INTER_REC = SM_INTER,
S_BIG_QTY_OPEN = BIG_QTY_OPEN,
S_SMALL_QTY_OPEN = SMALL_QTY_OPEN
WHERE S_STORE_CODE = R.STORE_CODE
AND S_ITEM_CODE = R.ITEM_CODE;
exception
when no_data_found then
NULL;
when others then
message(10,sqlerrm);
END;
END LOOP;
COMMIT;
SET_APPLICATION_PROPERTY(CURSOR_STYLE,'default');
SYNCHRONIZE;
-- SHOW_MESSAGE('The Data Have Been Calculated !!!');
END;
declare
pl_id ParamList;
APPLICATION_ID VARCHAR2(20):='PRD';
COMMAND_LINE VARCHAR2(100) :='STOCK_LEDGER';
BEGIN
pl_id := Get_Parameter_List('tmpdata');
IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List( pl_id );
END IF;
pl_id := Create_Parameter_List('tmpdata');
Add_Parameter(pl_id,'DATE_FRM',TEXT_PARAMETER,:DATE_FRM);
Add_Parameter(pl_id,'DATE_TO',TEXT_PARAMETER,:DATE_TO);
Add_Parameter(pl_id,'ITEM_FRM',TEXT_PARAMETER,:ITEM_FRM);
Add_Parameter(pl_id,'ITEM_TO',TEXT_PARAMETER,:ITEM_TO);
Add_Parameter(pl_id,'FRM_STORE',TEXT_PARAMETER,:FRM_STORE);
IF :REPORT_TYPE = 1 THEN
Run_Product(REPORTS,'C:\INV\RDF\STOCK_LEDGER.rdf',SYNCHRONOUS,RUNTIME,
FILESYSTEM, pl_id,NULL);
ELSIF :REPORT_TYPE = 2 THEN
Run_Product(REPORTS,'C:\INV\RDF\STOCK_LEDGER_2.rdf',SYNCHRONOUS,RUNTIME,
FILESYSTEM, pl_id,NULL);
END IF;
END;
Waiting for your valuable answer
Best Regards
Jamil AlshaibaniMake a matte in Photoshop.
From the Photoshop menu bar: File > New > Film & Video Presets. Choose one that suits your FCP project pixel dimensions. Make the background black. Place a white rectangle with rounded corners on top (the white will determine how much of your picture is visible). Flatten Image. Save as TIFF. Import into FCP.
Move your video clips up to V2. Place the imported TIFF on V1. Highlight all clips on V2.
Go to Modify > Composite Mode > Travel Matte Luma. Done.
If you want soft edges, no need for a matte. Double click your clip to place it in the Viewer. Open up the Motion tab > Crop > Edge Feather. Nice and quick. Copy and Paste attributes for the other clips. -
Is it possible to configure a smartform in QGA3 instead of the standard script QM_INSP_RESULT.
Hello ,
I'm afraid not , the program for the transaction is admitting only Sapscript format , even the BADI
QG_INSP_RESULT_PRINT allow to switch to a SAPscript form
Regards -
Problem in Sapscript , After creating a copy of Standard Script
Hello friends,
I have copied a standard script WASCHEIN into ZWASCHEIN, now all the data is coming from driver program SAPM07DR. Now there is one field which is not coming from the standard program,
Is there any way i can capture the field in my script without making changes in the standard driver program like a select statement in the script.
Thanks.
Edited by: Vijay Babu Dudla on Dec 16, 2008 3:24 AMHello Poonam,
Sorry i think you are not aware of using PERFORM stmts in SAPScripts !!!
@ Amit you can try this bit of coding:
/: PERFORM F_GET_KTEXT IN PROGRAM ZPROGRAM
/: USING &MSEG-NPLNR&
/: CHANGING &V_KTEXT&
/: ENDPERFORM
Create a Subroutine-Pool Program: ZPROGRAM where you write the FORM for the above PERFORM.
FORM f_get_cust_details
TABLES fp_it_input STRUCTURE itcsy
fp_it_output STRUCTURE itcsy.
DATA:
l_v_nplnr TYPE nplnr,
l_v_ktext TYPE auftext.
READ TABLE fp_it_input WITH KEY name = 'MSEG-NPLNR'.
IF sy-subrc = 0.
l_v_nplnr = fp_it_input-value.
ENDIF.
SELECT SINGLE KTEXT
INTO l_v_ktext
FROM aufk
WHERE aufnr = l_v_nplnr.
LOOP AT fp_it_output. "#EC *
IF fp_it_output-name EQ 'V_KTEXT'.
* Modifying the output table with the customer number
fp_it_output-value = l_v_nplnr.
MODIFY fp_it_output.
ENDLOOP.
ENDFORM.
Please note that passing the USING / CHANGING parameters through tables of ITCSY structures is a standard way of doing this & you cannot change this )
Hope this helps.
BR,
Suhas
Edited by: Suhas Saha on Dec 16, 2008 9:39 AM -
Re: tracing execution and standard Forte messagefilters
Pierre,
There is a tech note describing some of the trace flags that will show
you interpreter profile information. This interface, the information
produced, etc. may change in future releases that's why it's a tech
note and not in the documentation set.
Hope this helps,
Bobby
This note describes how to use the execution profile collector built into
the Tool Interpreter.
NOTE: THIS INTERFACE IS UNSUPPORTED BUT IS MADE AVAILABLE AS IS TO USERS
UNTIL A SUPPORTED INSTANCE OF THE FEATURE EXISTS.
THE SUPPORTED VERSION WILL HAVE A DIFFERENT FUNCTIONALITY AND FORM.
The Tool Interpreter contains an execution profile data collector. The
collection
information can be displayed as trace output or the raw data can be collected
by the program for further manipulation and display. This information
describes the current level of support available. It is possible that this
mechanism will be updated in future releases and/or integrated into the
TOOL debugger.
The profiler only counts intructions executed in the interpreter, it doesn't
account for time spent in C++ code. However it is sill useful in finding
problems in interpreted code and for viewing the dynamic call flow of the
application.
The following trace information is available:
TRACE CALL-RETURN
This trace outputs a single indented line for each method call and
another single line for each method return. The line is indented an
amount equal to the call depth of the task calling the method. The
following information is displayed:
Task Id
Task Name
Method Name
Method Instruction Count
Task(Id=5,Name=InitialLom)Method(Name=Forte.TopClass.StartUp)
Task(Id=5,Name=InitialLom)Method(Instructions=10)
This is enabled using trace setting trc:in:50:1.
This trace can also be used to see the control flow of an application.
TRACE TASK BY METHOD
This trace outputs information about a task and all of the methods that
where called during it's execution. Each method contains information
about the number of times that the method was called and the total
number of instructions consumed by the methods execution. The task
contains the totals of all calls and instructions performed by the
task. The methods are sorted in descending order of instructions
executed.
The following in an example of the output:
TaskByMethod(Id=9,Name=projws.display,Instructions=2212)
ide.projws.updateMenus(Called=1,Instuctions=556)
ide.projws.addBlockComponentsToTree(Called=1,Instuctions=321)
ide.projwsPrefs.LoadPrefs(Called=1,Instuctions=247)
ide.projwsPrefs.Apply(Called=1,Instuctions=206)
UtilsDisplay.PrefMgr.FetchUserPref(Called=12,Instuctions=168)
ide.projws.computeWindowSize(Called=1,Instuctions=168)
ide.projws.refreshBrowser(Called=1,Instuctions=76)
UtilsBase.CompileSession.SetScope(Called=1,Instuctions=68)
ide.projws.fillToolObjTree(Called=1,Instuctions=65)
ide.projws.setTitle(Called=1,Instuctions=53)
UtilsBase.CompileSession.Init(Called=1,Instuctions=48)
UtilsBase.InterfaceBrokerBase.GetCompileSession(Called=1,Instuctions=41)
UtilsBase.InterfaceBrokerBase.LockSession(Called=1,Instuctions=30)
AppModel.abSurrogateRepositoryClient.GetRepository(Called=3,Instuctions=21)
UtilsBase.InterfaceBrokerBase.UnlockSession(Called=1,Instuctions=20)
UtilsDisplay.Workshop.Events(Called=1,Instuctions=20)
UtilsDisplay.Workshop.HelpEvents(Called=1,Instuctions=19)
ide.projws.lookupMask(Called=1,Instuctions=17)
UtilsBase.CompileSession.GetVersionStateForPlan(Called=1,Instuctions=14)
ide.projws.LoadPrefs(Called=1,Instuctions=13)
AppModel.abSurrogateRepositoryClient.GetVersionStateForPlan(Called=1,Instuct
ions=8)
AppModel.abSurrogateRepositoryClient.FindProject(Called=1,Instuctions=8)
ide.projws.resetCurrentNode(Called=1,Instuctions=7)
AppModel.abSurrogateRepositoryClient.IsDetached(Called=1,Instuctions=7)
ide.projws.selectComponent(Called=1,Instuctions=6)
ide.projwsPrefs.Init(Called=1,Instuctions=5)
This is enabled using trace setting trc:in:51:1.
TRACE APP BY METHOD
This trace outputs information about an application and all of the
methods that were called during its execution. Each method contains
information about the number of times that the method was called and
the total number of instructions consumed by the methods execution.
The application contains the totals of all calls and instructions
performed by the task.
The output is similar to the previous case.
This is enabled using trace setting trc:in:53:1.
TRACE TASK BY CALLTREE
This trace outputs the call tree of the task. The call tree shows a
method and all of the methods that it called. And for each of the
called methods the same output is displayed. This can be used to
see more of the call structure of a task. It call also be used to
find the paths in the call tree that consumed most of the instructions.
The methods are sorted in descending order of instructions executed
within each level of the call tree.
TRACE APP BY CALLTREE
This trace outputs the call tree of the application. The call tree
shows a method and all of the methods that it called. And for each of
the called methods the same output is displayed. This can be used to
see more of the call structure of an application. It call also be used
to find the paths in the call tree that consumed most of the
instructions.
The output is similar to the previous case.
This is enabled using trace setting trc:in:54:1.
The following collected information is available:
NOTE: None of the collection options are available at this time.
COLLECT TASK BY METHOD
COLLECT APP BY METHOD
COLLECT TASK BY CALLTREE
COLLECT APP BY CALLTREE
Other potential future features:
The profiler doesn't record when some interpreted TOOL code invokes a method
on a object which in implemented in C++. This causes some profile
information to be lost. If the C++ code invokes a method that is
implemented as interpreted TOOL the BYCALLTREE profile will not show the
C++ code. Thus it could be confusing because it appears that the
interpreted code called something totally different than the what is
expected.
At 10:41 AM 7/31/96, Pierre Gelli wrote:
Hello,
During the process of tuning an application, or just of making it work, it
is useful to trace the flow of processing.
There are two ways of doing it :
1) add your own trace instructions (calls to the LogMgr) at the appropriate
places,
2) use the traces of the Forte Interpreter !
If one relies on solution 1, then it relies on what the developers have
written (and thus sometime forgotten to write !) in their code.
If one relies on solution 2, then potentially it can get as much information
as is available to the interpreter (and the debugger ?), in a fully
independant way since it uses directly the code itself and not added trace
instructions.
So solution 2 seems quite interesting.
Unfortunately there are some potential problems :
a) I haven't found in the documentation an exhaustive description of the
logs the Forte tools do. The only and very short description is on page 148
of the System management Guide. It's far from being exhaustive. So it
requires playing with the filters.
I recommand trying trc:in:1-63. I guess "in" stands for the interpreter.
- level 1 seems to give the call tree,
- level 255 seems to give almost the code !
b) since the flags are not documented by Forte, how reliable and stable will
they be in future versions ?
c) what happens for compiled partitions is not clear to me (I have not tried
it yet).
So my question : are the message filters used by the Forte Tools like the
interpreter described somewhere, i.e. in some Tech Note (I don't have access
to them yet) ?
best regards,
Pierre Gelli
ADP GSI
Payroll and Human Resources Management
72-78, Grande Rue, F-92310 SEVRES
phone : +33 1 41 14 86 42 (direct) +33 1 41 14 85 00 (reception desk)
fax : +33 1 41 14 85 99From: Pierre Gelli <[email protected]>
Subject: tracing execution and standard Forte message filters
Hello,
During the process of tuning an application, or just of making it work, it
is useful to trace the flow of processing.
There are two ways of doing it :
1) add your own trace instructions (calls to the LogMgr) at the appropriate
places,
2) use the traces of the Forte Interpreter !
So solution 2 seems quite interesting.
Unfortunately there are some potential problems :
a) I haven't found in the documentation an exhaustive description of the
logs the Forte tools do. The only and very short description is on page 148
of the System management Guide. It's far from being exhaustive. So it
requires playing with the filters.
I recommand trying trc:in:1-63. I guess "in" stands for the interpreter.
- level 1 seems to give the call tree,
- level 255 seems to give almost the code !
b) since the flags are not documented by Forte, how reliable and stable will
they be in future versions ?
Pierre Gelli,
level 255 is the most detailed you are right on tracing..... As for documentation
you will want to get ahold of several good tech notes that your Forte
rep or support can get you which provide alot of the info you are after.
Let me know if you can't do this and I can send you some of this info, but you are
best to get the latest and greatest directly from Forte.
Len Leber
ATG Partners -
How to add material group in rvinvoice standard script?
how to add material group in rvinvoice standard script?
regardsHi
You have to copy the standard script first .
you need to write External subroutine in layout.
This is just for basic info..you can search in sdn external subroutines in script..you get so many inputs.
Thanks -
I need STANDARD Scripts names for SD, MM, PP, and some others
hi
i need the standard script names for sd mm and pp
and also others modules
please send atleast 6 names
with some details
and key points
thanks in advanceHi,
Purchase Orders ---> MEDRUCK
Invoice Reduction -
> MR_REKL
Sales Summary -
> SD-SALES-SUMMARY
Packing list -
> SD_PACKING_LIST
Goods Issue Slip ---> WASCHEIN
don't forget to reward points.
Regards,
azaz ali. -
How to modify the standard script in scripts?
how to modify the standard script in scripts?
Nagaraju,
Standard scripts cant be modified.
Only thing is you need to copy it to z-form and have to do modifications as per ur requirements.
Here is the procedure to copy standard form to z-form.
goto SE71 t-code, then select the menu path : <b>Utilities -> Copy from Client</b>
then it will take to another screen, give the form name as Standard form name, if u r copying a stadard invoice means, type RVINVOICE01 and target form, ZRVINVOICE01. Now press execute button, it will copy the form into 25 languages. Now come back to se71, enter Z-form name and do the required changes.
Hope this hint may help you, Pls close the thread if u met with correct answer.
Regards,
Sujatha. -
Modifications in sap-standard script
Hi,Can anybody tell me what do we do generally in modifying standard scripts,do we need to change the driver program ?
thanxs in advance.
anil.If you are talking about output programs and SAPscripts, the idea is the following:
You make copy of the standard output program and also make copy of the sapscript. Then you perform your changes. The functional team needs to get involved to create a new output type, exa ZNEU for PO output as a copy of NEU. Then assign the new program and script.
Good Luck,
Leonardo De Araujo -
Tracing execution and standard Forte message filters
Hello,
During the process of tuning an application, or just of making it work, it
is useful to trace the flow of processing.
There are two ways of doing it :
1) add your own trace instructions (calls to the LogMgr) at the appropriate
places,
2) use the traces of the Forte Interpreter !
If one relies on solution 1, then it relies on what the developers have
written (and thus sometime forgotten to write !) in their code.
If one relies on solution 2, then potentially it can get as much information
as is available to the interpreter (and the debugger ?), in a fully
independant way since it uses directly the code itself and not added trace
instructions.
So solution 2 seems quite interesting.
Unfortunately there are some potential problems :
a) I haven't found in the documentation an exhaustive description of the
logs the Forte tools do. The only and very short description is on page 148
of the System management Guide. It's far from being exhaustive. So it
requires playing with the filters.
I recommand trying trc:in:1-63. I guess "in" stands for the interpreter.
- level 1 seems to give the call tree,
- level 255 seems to give almost the code !
b) since the flags are not documented by Forte, how reliable and stable will
they be in future versions ?
c) what happens for compiled partitions is not clear to me (I have not tried
it yet).
So my question : are the message filters used by the Forte Tools like the
interpreter described somewhere, i.e. in some Tech Note (I don't have access
to them yet) ?
best regards,
Pierre Gelli
ADP GSI
Payroll and Human Resources Management
72-78, Grande Rue, F-92310 SEVRES
phone : +33 1 41 14 86 42 (direct) +33 1 41 14 85 00 (reception desk)
fax : +33 1 41 14 85 99From: Pierre Gelli <[email protected]>
Subject: tracing execution and standard Forte message filters
Hello,
During the process of tuning an application, or just of making it work, it
is useful to trace the flow of processing.
There are two ways of doing it :
1) add your own trace instructions (calls to the LogMgr) at the appropriate
places,
2) use the traces of the Forte Interpreter !
So solution 2 seems quite interesting.
Unfortunately there are some potential problems :
a) I haven't found in the documentation an exhaustive description of the
logs the Forte tools do. The only and very short description is on page 148
of the System management Guide. It's far from being exhaustive. So it
requires playing with the filters.
I recommand trying trc:in:1-63. I guess "in" stands for the interpreter.
- level 1 seems to give the call tree,
- level 255 seems to give almost the code !
b) since the flags are not documented by Forte, how reliable and stable will
they be in future versions ?
Pierre Gelli,
level 255 is the most detailed you are right on tracing..... As for documentation
you will want to get ahold of several good tech notes that your Forte
rep or support can get you which provide alot of the info you are after.
Let me know if you can't do this and I can send you some of this info, but you are
best to get the latest and greatest directly from Forte.
Len Leber
ATG Partners -
Tracking the order of execution of sql scripts in SQL*Plus
In our production environment we sometimes have to run some .sql scripts in a particular order. Since the order of execution is important , i have created another .sql file caller caller.sql(shown at the bottom) which will call all the scripts in the right order.
i thought of putting a exec DBMS_LOCK.SLEEP (5); after the end of every execution of the script so that i can see the
'Ending script1'message .
The spooling within the caller script(execute_stack.log) has become meaningless because each script has a spool <filename.log> and spool off within it. These spool logs (for every script) is important for tracking purposes as each script belongs to a different development team and i have to send them the spooled log file after the execution.
I don't want to see the entire scripts running by in my screen. Since these scripts have their own spooling, i can later check the logs if the scripts where executed properly.
So i need two things.
1.I just need to see the following and nothing else in the screen.
Ending script1
Ending script2
Ending script3
.2. I need to log the order of execution. ie. the execute_stack.log should look like the above.Since there is a spool off within each script, this wouldn't be possible.Right?
Ending script1
Ending script2
Ending script3
.The caller.sql script which calls all the scripts in the right order
alter session set nls_date_format = 'DD-MON-YYYY hh24:MI:SS';
set serveroutput on
set echo on;
set feedback on;
spool execute_stack.log
@script1.sql
exec dbms_output.put_line ('Ending script1');
dbms_output.put_line(chr(10)||chr(10)||'.'||chr(10)||'.'||chr(10));
exec DBMS_LOCK.SLEEP (5);
@script2.sql
exec dbms_output.put_line ('Ending script2');
dbms_output.put_line(chr(10)||chr(10)||'.'||chr(10)||'.'||chr(10));
exec DBMS_LOCK.SLEEP (5);
@script3.sql
exec dbms_output.put_line ('Ending script3');
dbms_output.put_line(chr(10)||chr(10)||'.'||chr(10)||'.'||chr(10));
exec DBMS_LOCK.SLEEP (5);
@script4.sql
dbms_output.put_line(chr(10)||chr(10)||'.'||chr(10)||'.'||chr(10));
exec dbms_output.put_line ('Ending script3');
commit;
spool off;Is this a professional way of tracking the execution of .sql scripts?Pete_Sg1 wrote:
Is this a professional way of tracking the execution of .sql scripts?No. There is very little professional about using .sql scripts on a production system - when stored procedures are safer, more robust, easier managed and controlled and secure.. and where a log table can be used to properly log the runtimes (and other stats) of each processing step.
Let's just take a look at the number of moving parts you need to schedule and run a .sql script. A cron job needs to be configured with the proper environment setting. It needs to run a shell script. That shell script needs to load SQL*Plus. SQL*Plus needs to connect to the database (starting a dedicated server process most likely). SQL*Plus then needs to read a .sql file, parse these commands and either execute these locally (SQL*Plus commands) or remotely (PL/SQL and SQL commands).
How can this be considered professional when the very same can be achieved with a
- stored procedure
- using DBMS_JOB to schedule the procedure for execution
There are so many things that can go wrong with the first method. And so few things that could go wrong with the last one. No contest as to which method is not only better, but also professional.
PS. See that you use Windows to run these scripts. It is even worse as it introduces another hardware and software layer making the scenario even more insecure & unsafe with more moving parts that can go wrong or simply fail. -
Process to modifi the standard script
Hiiiiiiiii
can any body tell the complet process to modify standard script for eg for PURCHASE ORDERRun the transaction scc1 and give the form name you want to copy and giev the client name you want to copy from , give the target name . and select the first check box if you want it copy in original language else select the second chewck box if you want to copy in all languages that source form has.
the same you will get in the SE71 transaction by choosing trhe path
UTULITIES---> Copy from client
Reward if useful
Regards,
Nageswar -
SAP Standard script name for Goods reciept.
SAP Standard script name for Goods reciept.
Check this,it may help u
Program:SAPM07DR
Form: WESCHEINVERS3
Regards -
How to transport standard script
Dear friends
i want to coppy standard script in to customized form
for that i went through program rstxscrp programs & exported standard script in PC but it was not transporting
can any one guide how to transport standard script
Regards ,
ReddyHi,
For uploading/downloading into different servers.
follow the following steps.
execute the program RSTXSCRP
for DOWNLOADING
1. select form radio button and enter the form name in Object name field and mode as IMPORT.
2. In ctrl parameters for file operation
select first radio button Form and give file path to down load and execute.
for UPLOADING
3. select form radio button and enter the form name in Object name field and mode as EXPORT.
2. In ctrl parameters for file operation
select first radio button Formand give file path to upload and execute.
for Copyinnto different clients
Go to SE71 > utilities-> copy from client-->give source form name and give target form name(Zform) execute.
Regards,
Raju.
Edited by: S Raju Shanigarapu on Aug 26, 2008 3:08 PM
Maybe you are looking for
-
Error while compile a form In R12
Hi all, I am tryng to compile a Form in R12, But it is showing below error [applmgr@apps US]$ frmcmp_batch.sh module=XXDARXTWMAI.fmb userid=apps/apps@VIS Module_Type=FORM Forms 10.1 (Form Compiler) Version 10.1.2.0.2 (Production) Forms 10.1 (Form Com
-
I've tried deploying several processes to our BPEL Server, using 3 of the 4 supported ways. First I tried deploying the local HelloWorld sample using ant and the build.xml file. The script reports that the build was succesful, but it does not appear
-
Activate retail in ECC 6.0
Dear All, Please guide 1. How to activate retail system in ECC 6.0 and 2. What are the differences after activating Retail and 3. Any other settings required in customization ?
-
How to disable PanelAccordion overflow action?
Hello all, I am using jdeveloper 11.1.1.2.0. I created a dynamic menu with PanelAccordion using ShowDetailItem. I put the PanelAcordion in a scrollable PanelGroupLayout. Here is my code: <af:panelGroupLayout id="pt_pgl8" layout="scroll"> <af:panelAcc
-
Business Catalyst Admin - no longer have access to domain or site.
Hello, we were using business catalyst with a domain that we have since given up and no longer have any access too. We are seeing the weekly status reports come in but can't find any way to stop them due to no longer having access to the associated d