Start routine logic
All Open Items + (Status Closed and BLINEDATE <= Last day of the current Month and Clearing Date > Last Day of the current Month )
Need to implement above routine in the star routine,
To find open item we have a char FI_DOCSTAT if this is u2018Ou2019 it is a open item
And if this is u2018Cu2019 that is a closed item.
I know how to get that last month
Unable to find the logic for the same.
If you have some time please try to give the logic.
Thanks,
Satish
Hi,
Take the system date and calculate the Last Date of the month(through FM) then filter out the records.
Regards,
Pradeep.
Edited by: Pradeepkdas on Jan 27, 2012 1:27 PM
Similar Messages
-
ABAP assistance - start routine logic in update rule
I have used an existing update rule and have based my logic around the same. The purpose of the rule is to look up customer master data and get a subset of customer numbers from the transaction records so that the values for customer number from the transactional data will not be updated if it does not match with existing master data customer numbers.
The loads are full and we drop the data before we load.
I have listed the logic below (the number at the front is to be considered as the line number) and a list of open questions that I have thereafter:
Start routine logic:
1 DATA: l_index LIKE sy-tabix.
2 DATA: BEGIN OF ls_customer,
3 customer TYPE /BI0/OICUSTOMER,
4 objver TYPE RSOBJVERS,
5 END OF ls_customer,
6 lt_customer LIKE TABLE OF ls_customer.
7 REFRESH: lt_customer.
8 LOOP AT DATA_PACKAGE.
all customers from data package
9 ls_customer-custno = DATA_PACKAGE-custid.
10 ls_customer-objver = 'A'
11 APPEND ls_customer TO lt_customer.
12 ENDLOOP.
12 SORT lt_customer.
13 DELETE ADJACENT DUPLICATES FROM lt_customer.
14 IF NOT lt_customer[] IS INITIAL.
15 SELECT /BI0/OICUSTOMER RSOBJVERS
16 FROM /BI0/PCUSTOMER
17 INTO CORRESPONDING FIELDS OF TABLE lt_customer
18 FOR ALL ENTRIES IN lt_customer
19 WHERE ls_customer-custno = DATA_PACKAGE-custid
20 AND ls_customer-objver = 'A'
21 SORT lt_customer BY customer ASCENDING
22 ENDIF.
Questions
Line
1 - what is the purpose of this line? What is it that is being declared
2 - in some code I have seen this line with OCCURS 0 at the end what does this mean with and without the term?
4 - I am using the Data Element name is this correct or should I use the field name?
3 - 5 here I declare an internal structure/table is that correct?
6 - here I declare a work area based on the internal table is that correct?
7 - What would happen if I avoided using the REFRESH statement?
8 - 12 - Is this syntactically correct, I am trying to get a set of data which is the customer numbers which match the master data customers and the master data record is án active version and than appendíng to the work area?
13 - My understanding is this will reduce the number of records in the work area is this correct and needed?
14 - 22 I am trying to identify my required set of data but feel I am repeating myself, could someone advise?
Finally what logic would I actually need to write in the key figure object, could I use something like:
Result = lt_customer.
Thanks
Edited by: Niten Shah on Jun 30, 2008 8:06 PM1. This line is not required
2. OCCURS 0 is the OLD way of defining an internal table with that structure. As it is, it just defines a flat structure.
3. Data element is usually best
3-5 Yes
6. No. Here you are declaring a table of the type of the flat structure. Just as the ABAP says!
7. Nothing. But by putting this in, you ensure that you know the state of the table (empty) before you start looping through the data package
8-12. You can tell if it is syntactically correct by pressing Ctrl-F2 when in the editor. Looks ok.
13. Ensures your list of customers contains no duplicated. The code up to this point is building a list of all the unique customers in the data package.
14-22. Goes to the database and brings back ONLY those customers which are found in the master data. Looks ok.
This is a start routine (that's why you've got a data package). You don't use result. You should update the datapackage. But this you haven't done. Double click on the table name /BIC/PCUSTOMER to get the correct field names.
So you have to loop through the data package again, and check if the customer in the datapackage is lt_customer. If it is, fine, otherwise you blank it and report an error, or set an error message or whatever.
I wouldn't do it like this. I'd do something like this:
STATICS: st_customer TYPE HASHED TABLE OF TYPE /bi0/oicustomer
WITH UNIQUE KEY TABLE_LINE.
* st_customer retains its value between calls, so only populate if empty
* In one run of the infopackage, this will mean you do only one read of
* the master data, so very efficient.
IF st_customer IS INITIAL.
SELECT customer FROM /BI0/PCUSTOMER
INTO TABLE st_customer
WHERE objvers EQ 'A'. " Only active values
ENDIF.
* Go through data package
LOOP AT DATA_PACKAGE.
* Check whether the customer exists.
READ TABLE st_customer TRANSPORTING NO FIELDS
WITH TABLE KEY table_line = DATA_PACKAGE-custid.
CHECK sy-subrc IS NOT INITIAL.
* If you get here, the customer isn't valid. So I'm just setting it blank
CLEAR DATA_PACKAGE-custid.
MODIFY DATA_PACKAGE. " Updates the datapackage record
ENDLOOP.
Even this is not fully optimised, but it's not bad.
I strongly suggest that you get yourself sent on the basic ABAP programming course if you're going to do a lot of this. Otherwise, read the ABAP documentation in the help.sap.com, and, from the editor, get the cursor on each ABAP keyword and press F1 to read the ABAP help.
matt -
Start Routine Logic Updating Field in Target ODS
Hi,
I am creating a Start Routine to Update Field (date) from one ODS to another based on the Key Structure: Document Number, Line Item Number.
I am encountering a situation as follows:
Source
Doc Num 1 Line Item 10 Date 1/1/1
Target
Doc Num 1 Line Item 10 Date 1/1/1
DocNum 1 Line Item 20
DocNum 1 Line Item 30
DocNum 1 Line Item 40
The Routine I have now correctly updates line item 10 with the date 1/1/1.
I am trying to modify the code to only update the target ods if all of the line items are in the source. In this example Line Item 10 would not get updated since Line Items 20,30,40 are not in the Source ODS.
Has anyone encountered something like this.
Thanks for any help.Hi,
If you have all the line items in target for which you want to do updates you can do this in transformation start routine.
Try this first hand logic :
1. Create a internal tables(say SOURCE_INTERNAL_TABLE and TARGET_INTERNAL_TABLE)
with fields document number and another field integer say COUNTER
2. Read active table of source for all the document numbers in source package.
3. Update the SOURCE_INTERNAL_TABLE for all the document number with appropriate counts
(All the records of same document number should be in same data package)
4. Update the TARGET_INTERNAL_TABLE by reading the target ODS as done for source.
5. LOOP AT SOURCE_PACKAGE
if COUNTER in SOURCE_INTERNAL_TABLE and TARGET_INTERNAL_TABLE is not same
then delete the record from source package itself
END LOOP
6. Your next code
(Please take care that you are not referring the deleted records otherwise it will through a dump)
If you don't have all the line items in target then you need to bring them somewhere in BI (document number and item number only sufficient with both as a key fields) so as to refer them in your start routine.
Please update me if anything is wrong or if any corrections in logic.
Thanks and Regards,
Prashant Vankudre. -
Hi,
Can anyone please let me know the code in start routine for the below.
I want to delete the unwanted datapackage in start routine for the below condition.
For system PCR
For purch.org Z300, only those purchase orders shall be loaded to further layers which have the text "FCM" in the field Incoterms2 (ZPURINC2), the other purchase orders of this purch org and this system can be deleted.
thankyou........
Regards...
BalajiHi,
Delete Source_package where SYSTEM = 'PCR' and PURCH.ORG = 'Z300' and ZPURINC2 NE 'FCM'.
Check the definition of source_package in the start routine screen and use the exact infoobjects while defining the Delete statement
Regards
Githen -
Start Routine logic problem !
Experts ,
in my start routine,
my Source-field-fieldname has value "ABC123"
and i need to assing this value in reverse order like "123ABC" to the Infoobject.
How do i get this output ?
thankssHi Honar ,
Please use this code to reverse the strings.I think you want it like
Input : "ABA123"
Output : "321CBA"
for this use below code
data : v_Input (20) type c .
data : v_Output(20) type c.
LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS> .
v_Input = <SOURCE_FIELDS>-FIELDNAME .
CALL FUNCTION 'STRING_REVERSE'
EXPORTING
string =v_Input
lang = 'E'
IMPORTING
RSTRING = v_Output
EXCEPTIONS
TOO_SMALL = 1
OTHERS = 2
<SOURCE_FIELDS>-FIELDNAME = v_Output .
ENDLOOP .
This will work .
If you have different requirement then please tell me .
Regards,
Jaya -
Start Routine logic to delete records which do not satisfy a condition
Hello,
Iam trying to code a start routine to delete the records from the source_package if a certain set of conditions are not met.
It is failing at the last statement.
Pls help.
Thanks
Jagadish
code is as follows..
LOOP AT SOURCE_PACKAGE assigning <SOURCE_FIELDS>.
IF not (
( <SOURCE_FIELDS>-/BIC/ZCLSD_DT BETWEEN <SOURCE_FIELDS>-/BIC/ZWEEKOF
AND <SOURCE_FIELDS>-/BIC/ZNONWKOF )
AND
( <SOURCE_FIELDS>-/BIC/ZCLSD_DT IS INITIAL )
DELETE SOURCE_PACKAGE FROM <SOURCE_FIELDS>.
(is failing at the delete statement.)
ENDIF.
ENDLOOP.Thanks Pratap,
I used an internal table to load the records and used a delete statement out side the LOOP.
By using a Work Area assignment instead of the Source_fields, The delete statement is giving me an error saying "Conversion of Numeric Value to type Object is not valid".
Here is the code I have modified...
TYPES: BEGIN OF LINE,
WO(6) type c,
END OF LINE.
DATA: WA TYPE LINE,
ITAB TYPE TABLE OF LINE.
LOOP AT SOURCE_PACKAGE assigning <SOURCE_FIELDS>.
IF NOT (
( <SOURCE_FIELDS>-/BIC/ZCLSD_DT BETWEEN <SOURCE_FIELDS>-/BIC/ZWEEKOF
AND <SOURCE_FIELDS>-/BIC/ZNONWKOF
AND
<SOURCE_FIELDS>-/BIC/ZAPRD_DT IS NOT initial )
Append <SOURCE_FIELDS>-/BIC/ZWO_NBR to itab.
ENDIF.
ENDLOOP.
loop at itab into WA.
DELETE SOURCE_PACKAGE where /bic/ZWO_NBR = WA-wo.
endloop. -
Start routine logic to delete sourcepackage if there are no entries in itab
Hi there,
I am trying to Delete entries from a source_package where
source_package-material does not exist in itab_ds001(this internal table contain 3000 records, and has columns material, and Batch) and
source_package-batch does not exist in itab_ds001(this internal table contain 3000 records, and has columns material, and Batch)
I knew, it can be achieved with 2 loops,
But the problem is, My full load deal with 4 million records
--> 4 million times 3000 internal loops.,...takes lot of time to execute.
so I am looking for some ABAP coding help from experts
appreciate your timeHi, it is very easy.
LOOP AT source_package assigning <source_fields>.
READ TABLE itab_ds001 Transporting no fields
With key material = <source_fields>-material.
IF sy-subrc NE 0.
DELETE source_package index sy-tabix.
ENDIF.
READ TABLE itab_ds001 Transporting no fields
With key batch = <source_fields>-batch
IF sy-subrc NE 0.
DELETE source_package index sy-tabix.
ENDIF.
ENDLOOP.
Hope it is helpful -
How do you identify the Logical system in start routine of a transformation
My scenario is this. I have five r3 systems that I am extracting from. In the start routine of the transformation from the r3 data source to my data store I am going to delete data and I need to know the source system id. How do I identify the logical system or source system id in the transformation. Is there a system field that contains this information. I do not want to hard code the source system id in the routine.
hi
have a lool at tables rsreqdone and rsbkrequest with a join you should be able to determine the source.
regards
Boujema
How to give points: Mark your thread as a question while creating it. In the answers you get, you can assign the points by clicking on the stars to the left. You also get a point yourself for rewarding (one per thread).
Edited by: Boujema Bouhazama on May 9, 2008 12:04 AM -
What is the logic behind the start routine
Dear One's,
Kindly take a moment and explain the logic behind this start routine written in update rules of ODS.
PROGRAM UPDATE_ROUTINE.
$$ begin of global - insert your declaration only below this line -
$$ end of global - insert your declaration only before this line -
The follow definition is new in the BW3.x
TYPES:
BEGIN OF DATA_PACKAGE_STRUCTURE.
INCLUDE STRUCTURE /BIC/CST_T07_O006.
TYPES:
RECNO LIKE sy-tabix,
END OF DATA_PACKAGE_STRUCTURE.
DATA:
DATA_PACKAGE TYPE STANDARD TABLE OF DATA_PACKAGE_STRUCTURE
WITH HEADER LINE
WITH NON-UNIQUE DEFAULT KEY INITIAL SIZE 0.
FORM startup
TABLES MONITOR STRUCTURE RSMONITOR "user defined monitoring
MONITOR_RECNO STRUCTURE RSMONITORS " monitoring with record n
DATA_PACKAGE STRUCTURE DATA_PACKAGE
USING RECORD_ALL LIKE SY-TABIX
SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
CHANGING ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update
$$ begin of routine - insert your code only below this line -
fill the internal tables "MONITOR" and/or "MONITOR_RECNO",
to make monitor entries.
DATA: ITAB_/BIC/AT07_O00600 TYPE SORTED TABLE OF /BIC/AT07_O00600
WITH HEADER LINE
WITH UNIQUE DEFAULT KEY INITIAL SIZE 0,
DATA_PACKAGE_NEW TYPE STANDARD TABLE OF DATA_PACKAGE_STRUCTURE
WITH HEADER LINE
WITH NON-UNIQUE DEFAULT KEY INITIAL SIZE 0.
sort the datapackage based on lead number and lead program definition
SORT DATA_PACKAGE BY /BIC/TLDNR /BIC/TLDPRGFTE.
from the resources ODS read all lead values based on the values those
SELECT * FROM /BIC/AT07_O00600 INTO TABLE
ITAB_/BIC/AT07_O00600
FOR ALL ENTRIES IN DATA_PACKAGE
WHERE /BIC/TLDNR = DATA_PACKAGE-/BIC/TLDNR.
FIELD-SYMBOLS: <LS_DATA_PACKAGE> TYPE DATA_PACKAGE_STRUCTURE.
FIELD-SYMBOLS: <LS_/BIC/AT07_O00600> TYPE /BIC/AT07_O00600.
loop at internal table of ODS to check if there are lead program defin
from the source which mean the values of lead program definition in OD
values of lead program definition in datapackage.
LOOP AT ITAB_/BIC/AT07_O00600 ASSIGNING <LS_/bic/at07_o00600>.
READ TABLE DATA_PACKAGE
TRANSPORTING NO FIELDS
WITH KEY
/BIC/TLDNR = <LS_/bic/at07_o00600>-/BIC/TLDNR
/BIC/TLDPRGFTE = <LS_/bic/at07_o00600>-/BIC/TLDPRGFTE
BINARY SEARCH.
IF SY-SUBRC <> 0.
new lines with zero values are inserted because there are no correspon
DATA_PACKAGE_NEW-/BIC/TLDNR = <LS_/BIC/AT07_O00600>-/BIC/TLDNR.
DATA_PACKAGE_NEW-/BIC/TLDPRGFTE = <LS_/BIC/AT07_O00600>-/BIC/TLDPRGFTE.
DATA_PACKAGE_NEW-/BIC/TLDFTE = 0.
APPEND DATA_PACKAGE_NEW.
ENDIF.
ENDLOOP.
append the new records which are created for the leads in the datapack
APPEND LINES OF DATA_PACKAGE_NEW TO DATA_PACKAGE.
reset the sorting of the datapackage back to its original state
SORT DATA_PACKAGE.
if abort is not equal zero, the update process will be canceled
ABORT = 0.
$$ end of routine - insert your code only before this line -
ENDFORM.
Thanks in advancehi,
it's retrieve data from table /BIC/AT07_O00600
and add to data package, so your records will be more than from source
hope this helps. -
Start Routine to populate the Logical Source System
Hi Friends please help me with the below
1. <b>Requirement</b> : to Populate The system Date , Source System
in BI for Each load request.
<b>
1 Solution:</b> I thought of writing the Start Routine for this but it is giving me error
syntax Error: END METHOD MISSING?????
2. Also I have requirement to populate 0sourcsys source system id, can any body help how to populate that.
Thanks
Poonam Roy
<b>ABAP Code.</b>
I have the End Method. what more to do.
METHOD start_routine.
*=== Segments ===
FIELD-SYMBOLS:
<SOURCE_FIELDS> TYPE tys_SC_1.
DATA:
MONITOR_REC TYPE rstmonitor.
<b>
$$ begin of routine - insert your code only below this line -</b>
... "insert your code here
<b>
FORM STARTROUTINE
USING G_S_MINFO TYPE RSSM_S_MINFO
CHANGING DATAPAK type TRANSTRU
ABORT LIKE SY-SUBRC.
DATA: ZLOAD_DAT LIKE SY-DATUM
ZZSOURSYS TYPE RSLOGSYS
IF G_S_MINFO-DATAPAKID=1
SOURCE_FIELDS-ZLOAD_DAT = SY-DATE.
SOURCE_FIELDS-ZZSOURSYS = G_S_MINFO-LOGSYS.
ENDIF.
ABORT = 0.
ENDFORM.
ENDMETHOD.
ENDCLASS</b>.
*-- fill table "MONITOR" with values of structure "MONITOR_REC"
*- to make monitor entries
... "to cancel the update process
raise exception type CX_RSROUT_ABORT.
$$ end of routine - insert your code only before this line -
ENDMETHOD.Hi,
Check whether the formula is useful here than Routine. Because you can see the Sy-datum , source system( I Guess) fields as avaialable formula elements .
With rgds,
Anil Kumar Sharma .P -
Start routine in transformation
Hi,
I need to read master data in a start routine only once.If I write a select statement in the start routine , the select is executed for every data package.I want the select to be executed only once and data can be used by all data packages.I tried keeping the code in the global section of the start routine class and that didn't help either.
Any ideas.
Thanks in advanceHi Siva,
Then..Use Static Internal table...
Structured Static Internal Table Definition
- STATICS itab TYPE tabtype [WITH HEADER LINE].
- STATICS itab TYPE tabkind OF linetype
[WITH [UNIQUE|NON-UNIQUE] keydef]
[INITIAL SIZE n] [WITH HEADER LINE].
- STATICS itab LIKE tabkind OF lineobj
[WITH [UNIQUE|NON-UNIQUE] keydef]
[INITIAL SIZE n] [WITH HEADER LINE].
- STATICS itab TYPE linetype OCCURS n [WITH HEADER LINE].
- STATICS itab LIKE lineobj OCCURS n [WITH HEADER LINE].
- STATICS: BEGIN OF itab OCCURS n,
END OF itab [VALID BETWEEN f1 AND f2].
STATICS itab TYPE RANGE OF type.
STATICS itab LIKE RANGE OF f
@@@@@@@@@@@@@22
Logic: make flag variable as static variable in global area.
First data package...
IF flag EQ ' '.
Read Master data table and put in STATIC internal TABLE.
So the next time(next data package)..not read from master data table
flag = 'X'.
ENDif.
LOOP DATA_PACKAGE.
ENDLOOP.
@@@@@@@@@@@@2
Regards,
San!
Message was edited by:
Sandeep Khatri(San!) -
ABAP code for BI 7.0 transformations start routine
Hi all,
I am trying to update data from DSO1 (Source1: transaction data) to Infocube(TARGET)
In the transformations Start routine, I have to read DSO2(Source2: Master data) for some fields.
DSO1 has CUSTOMER as part of key
DSO2 has CUSTOMER (key) and other fields....FIELD1, FILED2, FIELD3
Infocube to be updated with FIELDS1,2 & 3 WHILE READING DSO2.
WHERE DSO1 CUSTOMER matches with DSO2 CUSTOMER.
Also, data NOT TO BE UPLOADED into Infocube if FIELD1 in DSO2= NULL
Please give me the abap code for the above logic.
Appreciate any help in this regard.
Thanks.This is a doc from this site:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/6090a621-c170-2910-c1ab-d9203321ee19
Ravi Thothadri -
Identify the last data package in start routine
Hi Everyone
We have a start routine in transformations. We require to do some special processing in the start routine only when the last data package is executing. How can we determine in the start routine that current package is last one or not ? Any pointers in this direction are appreciated.Hi,
You can get packet Id from datapackid in start routine and end routine. But I'm not so sure how to identify the last packet ID, alternatively you can store this packet id in some where else and read the same value in End routine if your logic(processing) permits to do this in End routine instead of Start routine.
METHODS
start_routine
IMPORTING
request type rsrequest
datapackid type rsdatapid
EXPORTING
monitor type rstr_ty_t_monitors
CHANGING
SOURCE_PACKAGE type tyt_SC_1
RAISING
cx_rsrout_abort.
hope it helps...
regards.
Raju -
BW 3.5 Start Routine Start Routine Code
Hi,
I am writing a Start Routine in BW 3.5 and the logic we have seems to be working but not updating the target ods. We are adding a date field to the target ODS and need to source it from another ODS. The key structures for each ods is different
Taget ODS:
Header
Line ITem
Schedule Line
Source ODS:
Header
Line Item
When we run the start routine the date field will not update for the schedule lines, it will create a new record in the target ods with the Header Line ITem and Date.
Has anyone had to code this logic before in a 3.5 Start Routine, where you needed to update a date field with ODS with different key strucutures.
Thanks for any help on this issue.Its difficult in BW 3.5 to include this logic in START_ROUTINE as you cannot add the extra to_date field to the DATA_PACKAGE table.
You need to create a new global internal table with the same structure of DATA_PACKAGE with additional field to_date. then use the logic to fill in the global internal table
define a internal table new_data_package with the required structure like (docno, eventtype, fromdate todate)
data: l_w_datapkg_001 type data_package,
data: l_w_newdatapkg type new_data_package,
data: l_w_datapkg_011 type data_package
LOOP AT DATA_PACKAGE INTO l_w_datapkg_001 WHERE event_type = '001'.
l_w_newdatapkg-docno = l_w_datapkg_001-docno.
l_w_newdatapkg-event_type = l_w_datapkg_001-event_type.
l_w_newdatapkg-fromdate = l_w_datapkg_001-date.
MOVE CORRESPONDING FIELDS OF l_w_datapkg_001 INTO l_w_newdatapkg.
READ TABLE data_package INTO l_w_datapkg_011
WITH KEY docno = l_w_datapkg_001-docno
event_type = '011'.
l_w_newdatapkg-to_date = l_w_datapkg_011-date.
APPEND l_w_newdatapkg TO new_data_package
ENDLOOP.
Now the new datapackage contains the ODS2 data that u needed -
BW 3.5 Update rule routine and start routine convert to BI 7.0 Endroutine.
I have bw 3.5 update routine and update rules start routine( r/3 to ODS). i need to replicate that routine into BI 7.0 endroutine with the same logic with some minor changes(DSO to DSO).
IN BW 3.5 the data is getting from r/3 where as in BI7.0 the data fetching from DSO itself but the logic is same as bw 3.5.
following is the start routine:
DATA: G_FISCPER_TO TYPE /BI0/OIFISCPER,
G_CALMONTH LIKE /BI0/PCALMONTH-CALMONTH,
G_MONAT TYPE /BIC/OIYRDFMONAT.
ABORT = 0.
------ Globale Variable füllen --------------------------------------*
CALL FUNCTION 'Y_RDF_FISCPER_FOR_INFOPACKAGE'
EXPORTING
I_ISOURCE = '0FI_AA_001' (*** this is infosurce getting from r/3, in 7.0 this one is DSO 'B")
IMPORTING
E_FISCPER_TO = G_FISCPER_TO
E_MONAT = G_MONAT
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC = 0.
CALL FUNCTION 'Y_RDE_FISCPER_TO_CALMONTH'
EXPORTING
I_PERIV = 'K4'
I_BDATJ = G_FISCPER_TO(4)
I_POPER = G_FISCPER_TO+4(3)
IMPORTING
E_CALMONTH = G_CALMONTH
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC NE 0 OR G_CALMONTH IS INITIAL.
CALL FUNCTION 'Y_RDN_MONITOR_SET'
EXPORTING
I_MSGID = 'YRDFBW'
I_MSGNO = '027'
I_MSGV1 = '0FI_AA_001'
I_MSGV2 = 'YRDF_FIAA_PERIOD'
TABLES
T_MONITOR = MONITOR.
ABORT = 1.
ENDIF.
ELSE.
CALL FUNCTION 'Y_RDN_MONITOR_SET'
EXPORTING
I_MSGID = 'YRDFBW'
I_MSGNO = '027'
I_MSGV1 = '0FI_AA_001'
I_MSGV2 = 'YRDF_FIAA_PERIOD'
TABLES
T_MONITOR = MONITOR.
ABORT = 1.
ENDIF.
Update routine:
RETURNCODE = 0.
ABORT = 0.
CLEAR RESULT.
IF NOT COMM_STRUCTURE-ASSET_MAIN BETWEEN '000000200000' AND
'000000299999'.
CALL FUNCTION 'Y_RDF_GET_CCTR_0ASSET'
EXPORTING
I_COMP_CODE = COMM_STRUCTURE-COMP_CODE
I_ASSET = COMM_STRUCTURE-ASSET
I_ASSET_MAIN = COMM_STRUCTURE-ASSET_MAIN
IMPORTING
E_COSTCENTER = RESULT
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC NE 0 OR RESULT IS INITIAL.
CALL FUNCTION 'Y_RDN_MONITOR_SET'
EXPORTING
I_MSGID = 'YRDFBW'
I_MSGTY = 'E'
I_MSGNO = '061'
I_MSGV1 = COMM_STRUCTURE-COMP_CODE
I_MSGV2 = COMM_STRUCTURE-ASSET
I_MSGV3 = COMM_STRUCTURE-ASSET_MAIN
TABLES
T_MONITOR = MONITOR.
RETURNCODE = 1.
ENDIF.
ENDIF.
How can i write this in BI7.0?
ThanksHi ,
solved on my own. Thankyou very much..
thanks & regards,
M.S
Edited by: M.S on Oct 27, 2009 6:57 AM
Edited by: M.S on Oct 27, 2009 6:59 AM
Maybe you are looking for
-
My Macbook (Black,August 2008...love it!) screen lights up/comes on and then immediately goes dark; the screen shows on an external monitor in mirroring mode. Any thoughts/suggestions. Many thanks. Model Name: MacBook Model Identifier:
-
Table space and recollection of released space after client deletion
Dear All, I have two questions: 1.Can any1 tell me how to determine the fastest growing table and how to reorganize table space. 2. Is there any way by which we can recollect the space released:say after client deletion. I had deleted one client two
-
About the 12,09 euro deal for Photoshop and Lightroom.
Is this the normal Lightroom for your computer? There is also a Lightroom mobile and i don't need that.
-
Deploying applications with grid tags
developing with WLS 8.1 on Windows then deploying to WLS 8.3 on Solaris... Everything deploys fine when migrating my workshop application from development to a test single-domain server. And the DBControls against a MySQL database work fine. However,
-
Me21n tcode pr validation based particular document
hi guru's in me21n tcode in item level i want to check purchase requestion field initial or not if its not initial it should throw error message 'please enter pr' for PARTICULAR ORDER TYPE (document type ) how to do it .... it can be done by user ex