?(Start) Routine to fill a flag for all Y_ID_i where X_IDij is max value
Just one sentence: How can i write a routine to fill an infoObject with value "X", for the max value key_id X_IDij of every foreign key Y_ID_i.
> More explanation------>
I have such data rows in cube with main keys Xi and foreign keys Yi, characteristic Ci
row1: X1 Y1 C1
row2: X2 Y1 C2
row3: X3 Y1 C3
row4: X4 Y2 C4
row5: X5 Y2 C5
row6: X6 Y2 C6
row7: X7 Y3 C7
row8: X8 Y3 C8
row9: X9 Y3 C9
I want to display in the query for every foreign key Yi the once row with max Xi: Max from (X1, X2, X3); Max from (X4, X5, X6)..
Those rows that will be displayed in query are row3, row6 and row9 because by Y1, X3 is the maximal value, for Y2 is X6 and for Y3 is X9.
How can i select those row in the query. So that, only one row (with max X) is diplayed for every foreign key.
Thanks for helping.
Arnaud
Edited by: Arnaud on Aug 18, 2009 7:00 AM
Edited by: Arnaud on Aug 18, 2009 1:17 PM
Edited by: Arnaud on Aug 27, 2009 9:45 AM
Hi Arnaud,
You can use the below code in your start routine -
DATA : IT_TAB TYPE DATA_PACKAGE OCCURS 0.
IT_TAB[] = DATA_PACKAGE[].
SORT IT_TAB BY Y DESCENDING X.
DELETE ADJACENT DUPLICATES FROM IT_TAB COMPARING Y X.
LOOP AT DATA_PACKAGE.
READ TABLE IT_TAB WITH KEY X=DATA_PACKAGE-X
Y=DATA_PACKAGE-Y
Z=DATA_PACKAGE-Z
BINARY SEARCH.
IF SY-SUBRC EQ 0.
DATA_SOURCE-FLAG = 'X'.
MODIFY DATA_SOURCE.
ENDIF.
ENDLOOP.
Here we are assuming that your data package contains the additional field FLAG.
Regards,
Saurabh
Similar Messages
-
ABAP Code Problem in Start Routine to Fill the value from Look-up Table ???
Hi all,
I am trying to fill the values of DOC_NUMBER & PLANT from look-up table /BIC/AZSD_O0700 (Billing Item ODS) for each BILL_NUM in Start Routine for Update Rules of Billing Header ODS and modify the data_package.
What is wrong with the below ABAP code, PLEASE ???
data: it_data type standard table of data_package_structure
with header line
with non-unique default key initial size 0.
types: begin of billing_item_type,
BILL_NUM like /BIC/AZSD_O0700-BILL_NUM,
DOC_NUMBER like /BIC/AZSD_O0700-DOC_NUMBER,
PLANT like /BIC/AZSD_O0700-PLANT,
end of billing_item_type.
refresh it_data.
clear it_data.
it_data[] = DATA_PACKAGE[].
refresh DATA_PACKAGE.
clear DATA_PACKAGE.
loop at it_data.
select DOC_NUMBER PLANT into (it_data-DOC_NUMBER, it_data-PLANT)
from /BIC/AZSD_O0700
where BILL_NUM = it_data-BILL_NUM
and FISCVARNT = it_data-fiscvarnt.
endselect.
if sy-subrc = 0.
move-corresponding it_data to DATA_PACKAGE.
endif.
endloop.
modify DATA_PACKAGE.
Thanks,
Venkat.Hi Venkat,
Two things -One is the performance and the other ... there is no Append within the loop.
Try moving the select statement ousdie the loop to improve performance and move the modify statement into the loop ... change modify to append. Code below.
Let me know if you need more help.
Best regards,
Kazmi
data: it_data type standard table of data_package_structure
with header line
with non-unique default key initial size 0.
types: begin of billing_item_type,
BILL_NUM like /BIC/AZSD_O0700-BILL_NUM,
DOC_NUMBER like /BIC/AZSD_O0700-DOC_NUMBER,
PLANT like /BIC/AZSD_O0700-PLANT,
end of billing_item_type.
refresh it_data.
clear it_data.
it_data] = DATA_PACKAGE[.
refresh DATA_PACKAGE.
clear DATA_PACKAGE.
loop at it_data.
select DOC_NUMBER PLANT into (it_data-DOC_NUMBER, it_data-PLANT)
from /BIC/AZSD_O0700
where BILL_NUM = it_data-BILL_NUM
and FISCVARNT = it_data-fiscvarnt.
endselect.
if sy-subrc = 0.
move-corresponding it_data to DATA_PACKAGE.
Append DATA_PACKAGE.
endif.
endloop. -
ABAP Code in Start Routine to fill a field
Hello,
with the following code in the start routine in BW3.5 I am trying to fill Intercompany-Indicator based on Distribution Channel. The main code is marked bold.
Distribution Channel = DISTR_CHAN
InterCompany-Indicator = G_CWWR14
Pls help. Thanks.
SD
Intercompany Indicator
IF NOT wa_daten-customer IS INITIAL.
SELECT SINGLE /b05/s_rbkunde FROM /b05/mrbcust INTO l_rbcust
WHERE /b05/s_rbcust = wa_daten-customer
AND objvers = 'A'
AND datefrom <= l_date
AND dateto >= l_date.
IF sy-subrc EQ 0.
SELECT SINGLE g_cwwr14 FROM /b05/mrbkdbkrs INTO l_ii
WHERE comp_code = wa_daten-comp_code
AND /b05/s_rbkdbkrs = l_rbcust
AND objvers = 'A'
AND datefrom <= l_date
AND dateto >= l_date.
IF sy-subrc = 0.
wa_daten-g_cwwr14 = l_ii.
ELSE.
CLEAR wa_daten-g_cwwr14.
ENDIF.
ELSE.
CLEAR wa_daten-g_cwwr14.
ENDIF.
ELSE.
IF wa_daten-G_CWWR14 = ' '.
CASE wa_daten-DISTR_CHAN.
WHEN 'Y4'.
wa_daten-G_CWWR14 = '4'.
WHEN 'Y5'.
wa_daten-G_CWWR14 = '2'.
WHEN OTHERS.
wa_daten-G_CWWR14 = '0'.
ENDCASE.
ENDIF.
ENDIF. " NOT wa_daten-customer IS INITIAL
MODIFY DATA_PACKAGE FROM wa_daten.
ENDLOOP.Hi Venkat,
Two things -One is the performance and the other ... there is no Append within the loop.
Try moving the select statement ousdie the loop to improve performance and move the modify statement into the loop ... change modify to append. Code below.
Let me know if you need more help.
Best regards,
Kazmi
data: it_data type standard table of data_package_structure
with header line
with non-unique default key initial size 0.
types: begin of billing_item_type,
BILL_NUM like /BIC/AZSD_O0700-BILL_NUM,
DOC_NUMBER like /BIC/AZSD_O0700-DOC_NUMBER,
PLANT like /BIC/AZSD_O0700-PLANT,
end of billing_item_type.
refresh it_data.
clear it_data.
it_data] = DATA_PACKAGE[.
refresh DATA_PACKAGE.
clear DATA_PACKAGE.
loop at it_data.
select DOC_NUMBER PLANT into (it_data-DOC_NUMBER, it_data-PLANT)
from /BIC/AZSD_O0700
where BILL_NUM = it_data-BILL_NUM
and FISCVARNT = it_data-fiscvarnt.
endselect.
if sy-subrc = 0.
move-corresponding it_data to DATA_PACKAGE.
Append DATA_PACKAGE.
endif.
endloop. -
Filtering records using a start routine inside the update rules for a dmart
Hi
I am using a start routine inside the update rules. I want to filter out all records that have 0 in all three fields. My problem is that it not only filters these records, but also filter records with negative values, which I do not want. Only 1 field has a negative value, the other 2 have 0.
I have tried:
DELETE DATA_PACKAGE where /BIC/ZBILLCONS = 0 and /BIC/ZBREVPRIM = 0 and /BIC/ZBREVSUBO = 0 .
DELETE DATA_PACKAGE where ( /BIC/ZBILLCONS = 0 and /BIC/ZBREVPRIM = 0 and /BIC/ZBREVSUBO = 0 ).
also tried:
delete DATA_PACKAGE where /BIC/ZBILLCONS IS INITIAL and
/BIC/ZBREVPRIM IS INITIAL and /BIC/ZBREVSUBO IS INITIAL.
The records are going to 1 cube and 1 ODS, I only have the start routine in 1 update rule. I view the filtering in the PSA.
Has anyone ran into this before?Try
delete data_package where /BIC/ZBILLCONS = '0' and /BIC/ZBREVPRIM = '0' and /BIC/ZBREVSUBO = '0' .
OR
delete data_package where /BIC/ZBILLCONS EQ '0' and /BIC/ZBREVPRIM EQ '0' and /BIC/ZBREVSUBO EQ '0' .
Good luck! -
Select fom table for all entries where field starts with value
Hello
I want to write a select like this
select * from bsis
into lt_bsis
for all entries in lt_itab
where xblnr like lt_itab-belnr%
I want to select all the entries from bsis where the field xblnr starts with the values found in lt_itab-belnr.
for example
ls_itab-belnr = 5100000028
bsis-xblnr = 510000002810001
510000002810002
510000002810003
520000002810001
and i want to select only the entries that start with 5100000028 in this case
Can anybody help?
ThanksHi,
I hope below example code will help you to fix your issue,
REPORT ytest.
TYPES : BEGIN OF ty_typ1,
val TYPE i,
END OF ty_typ1.
TYPES : BEGIN OF ty_typ2,
val1 TYPE hrobjid,
val2 TYPE hrobjid,
END OF ty_typ2.
DATA : int_typ1 TYPE TABLE OF ty_typ1,
int_typ2 TYPE TABLE OF ty_typ2,
wa_typ1 TYPE ty_typ1,
wa_typ2 TYPE ty_typ2,
int_1001 TYPE TABLE OF hrp1001,
wa_1001 TYPE hrp1001.
REFRESH : int_typ1, int_typ2, int_1001.
CLEAR : wa_typ1, wa_typ2, wa_1001.
wa_typ1-val = 500001.
APPEND wa_typ1 TO int_typ1.
wa_typ1-val = 500002.
APPEND wa_typ1 TO int_typ1.
wa_typ1-val = 500003.
APPEND wa_typ1 TO int_typ1.
wa_typ1-val = 500001.
APPEND wa_typ1 TO int_typ1.
SORT int_typ1 ASCENDING BY val.
DELETE ADJACENT DUPLICATES FROM int_typ1 COMPARING val.
LOOP AT int_typ1 INTO wa_typ1.
wa_typ2-val1 = ( wa_typ1-val * 100 ) + 1.
wa_typ2-val2 = wa_typ2-val1 + 98.
APPEND wa_typ2 TO int_typ2.
CLEAR : wa_typ1, wa_typ2.
ENDLOOP.
SELECT * FROM hrp1001 INTO TABLE int_1001
FOR ALL ENTRIES IN int_typ2 WHERE
plvar EQ '01' AND
otype EQ 'S' AND
sclas EQ 'O' AND
begda LE sy-datum AND
endda GE sy-datum AND
objid GE int_typ2-val1 AND
objid LE int_typ2-val2.
LOOP AT int_1001 INTO wa_1001.
WRITE : / wa_1001-objid.
ENDLOOP.
Thanks & Regards,
Harish Kumar N -
Set the Unicode check flag for all programs.
Hello friends,
We are now upgrading our ecc6 system to unicode. The problem is that all our programs
are not flaged for unicode checks and there for have syntax errors. I now how to mark
this flag for a single program but how can I do it to all programs?
I realy need your help.
Thanks in advance,
Gershon.Hi Gershon,
In general, transaction UCCHECK is designed to cover all Unicode adaptations needed. The guide called
u201CRequirements of ABAP Programs in Unicode Systemsu201D, which can be found via:
http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b02d3594-ae48-2a10-83a7-89d369b708e5
gives customers a comprehensive description of possible errors. Please also have a look at the docu provided directly in transaction UCCHECK. In addition, SAP notes 1322715 (search for UCCHECK) and 1319517 (point 8.) might be helpful.
Please note that customer programs have to be adapted - simply setting the Unicode flag works only for the objects with a green traffic light in UCCHECK .
Best regards,
Nils Buerckel
SAP AG -
Removing the explicitly installed flag for all dependency packages
From what I gather, pacman -Rs won't remove any packages marked as explicitly installed, which causes a couple of problems for me:
Say I need to reinstall all my packages for whatever reason; they'll all be marked as explicitly installed, so from that point on I wouldn't be able to search for orphans.
There other case I can think of would be when I reinstall a dependency of some package for whatever reason, then later delete that top package with -Rs, that would mean the dependency and anything it depends on would remain on my system even if I don't really need it.
Does pacman support, or are there any scripts that will go through the package databse and mark all packages that are depended on by other packages as dependencies rather than explicitely installed? Basically reset the explicit flag for anything that isnt a leaf on the tree.Hi
There are 2 ways in doing this, either by report filtering or by formula, i would highly suggest using a report filter, just click the funnel icon in your webi report and drag your flag object then select Not Equal to condition then select 0.
if you want to use a formula you can type in "=[Person Object] where([flag] = "0")". NOTE: only use "" if your flag is a dimension.
kindly tell me if I'm missing something.
Regards,
-John Vincent -
For all entries Where condition character length partilally has to be used
Hi,
I need to fetch all the data reocrds of one internal table into the other with the condition that in one of the field of first internal table only partial length of the character has to be used as a where condition.
Example:
Select xxxx
yyyyy
zzzzz
into it_tab2
for all entries in itab1
where field2 = itab1-field1(4).
where field1 of itab1 has length of 8 and field2 belongs to itab2.
As it throws the error msg :
it will ignore the length restriction mentioned in where condition of the for all entriesHi.
If you are trying to fetch from any database table based on your modified table use this logic.
Dfine another internal table same as itab1, with field one lenght as 4 char.
ex:
data: begin of it_tab2.
field1(4),
end of it_tab2.
loop at it_tab1.
it_tab2 = itab1+0(4).
append it_tab2.
clear it_tab2.
endloop.
now you can fetch from database table....using it_tab2.
Select xxxx
yyyyy
zzzzz
into it_tab3
for all entries in itab2
where field2 = itab2-field1(4).
If you only want to move the entries form one internal table to another internal table and truncate the field1 of itab1.
then no need to use any for all entries...
apply this logic
data: begin of it_tab2.
field1(4),
end of it_tab2.
loop at it_tab1.
it_tab2 = itab1+0(4).
append it_tab2.
clear it_tab2.
endloop.
Regards,
Satish -
SQL- Statement: for all entries, where
Hi all, I have a Statement
SELECT * FROM ltak
INTO TABLE lt_help for all entries in gt_tree
WHERE bdatu = gt_tree-node_key.
It doesnt want to compile, because the field bdatu is not of the same type like my field node_key.
How can I process this statement, or how can I convert it ?
Thanks,
Regards,
HProkoph
Edited by: Rob Burbank on Dec 17, 2009 9:26 AMHello,
This is what you were suggested before
"Add a extra field in the internal table gt_tree
data: begin of gt_tree occurs 0,
bdatu1 like ltak-bdatu,
end of gt_tree.
"before the select statement
loop at gt_tree.
gt_tree-bdatu1 = gt_tree-node_key.
modify gt_tree.
endloop.
SELECT * FROM ltak
INTO TABLE lt_help for all entries in gt_tree
WHERE bdatu = gt_tree-bdatu1.
Vikranth -
I've received an email which tells me to verify my apple ID as my account has been blocked for security purposes, the verification process uses all my banking info and I got worried that I may have received a phishing or malware of some sort.
It is a phishing attempt to get your personal infomation.
Do not reply and delete the email. -
Global Defined Table - Existing for single package only or for all package
Hi Folks,
I got a question around global fields in start routines of transformations.
Lets say I have defined in the global section a table that should hold some lookup values retrieved in the start routine (e.g. material attributes for all material number entries in the data package). Later this table is used in the transformation to "fill fields" for the target cube.
Will this table be "initiated" for every package so it will hold only the data the start routine put there.
Or is it "existing" throughout the whole update process and every new package will "add" records there so overtime it will grow from package to package?
Thanks and best regards,
AxelUse a simple trick to get around.
IF sy-uzeit < 060000.
load_date = sy-datum - 1.
ELSE.
load_date = sy-datum.
ENDIF.
Edited by: Dirk Herzog on May 24, 2011 10:44 AM -
How to debug start routine for the custom code?
Hi Experts,
Can anybody tell me how to debug the start routine? Also could you please guide me where to write the custom code in the start routine.
Thanks in advance.
Sharat.Rajkumar,
Thank you for your help. but the blog link that you send it to me does not mention anything about ABAP debugger screen.
What should I do once I get in to the ABAP debugger? the link only tells how to get to the ABAP debugger that I know.
Also it say that I have to use the infinite loop to debugg the start routine.
Can anybody tell me how to debugg start routine with the scren shots please. I don't know how to use infinite loop in the start routine. Is their any easy process step by step to see my particular record behavior in the start routine?
I will assing you the points. again thank you. -
0IC_C03: 2LIS_03_BF Transformation Start Routine Activation error
Hi all,
Iam getting activation error (Start Routine) while activating the transformation for the 2LIS_03_BF (Material Movements) data source for 0IC_C03 INFO CUBE. Iam getting an error for the Start Routine and the error message is as follows:
+ E:In PERFORM or CALL FUNCTION "ROUTINE_9998", the actual parameter "SOURCE_PACKAGE" is incompatible with the formal parameter "DATA_PACKAGE".+
Scenario: As per my client requirment i have tried to add on info object in to the existing info cube i.e., Movement Type which is an existing field in the info source and the data source and i have tried to map the same in the transformations between the info source and the info cube and activated the transformation. Then iam getting the above said start routine error, so to avoid this i have removed that object i.e., movement type from the info cube and tried to reactivate the transformations still iam getting the same routine error.
Please suggest me th approach to resolve this issue.
Regards,
PrabhakarHi Chandu,
Please find below is the routine:
PROGRAM trans_routine.
CLASS routine DEFINITION
CLASS lcl_transform DEFINITION.
PUBLIC SECTION.
Attributs
DATA:
p_check_master_data_exist
TYPE RSODSOCHECKONLY READ-ONLY,
*- Instance for getting request runtime attributs;
Available information: Refer to methods of
interface 'if_rsbk_request_admintab_view'
p_r_request
TYPE REF TO if_rsbk_request_admintab_view READ-ONLY.
PRIVATE SECTION.
TYPE-POOLS: rsd, rstr.
Rule specific types
TYPES:
BEGIN OF tys_SC_1,
InfoObject: 0STORNO Reversal Indicator.
STORNO TYPE /BI0/OISTORNO,
InfoObject: 0RT_PROMO promotion.
RT_PROMO TYPE /BI0/OIRT_PROMO,
InfoObject: 0VAL_CLASS Valuation class.
VAL_CLASS TYPE /BI0/OIVAL_CLASS,
InfoObject: 0DOC_DATE Document Date.
DOC_DATE TYPE /BI0/OIDOC_DATE,
InfoObject: 0STOCKTYPE StockType.
STOCKTYPE TYPE /BI0/OISTOCKTYPE,
InfoObject: 0STOCKCAT Stock Categories.
STOCKCAT TYPE /BI0/OISTOCKCAT,
InfoObject: 0PSTNG_DATE Posting date in the document.
PSTNG_DATE TYPE /BI0/OIPSTNG_DATE,
InfoObject: 0COMP_CODE Company Code.
COMP_CODE TYPE /BI0/OICOMP_CODE,
InfoObject: 0BWAPPLNM Application component.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0MOVETYPE movement Type (Inventory Management).
MOVETYPE TYPE /BI0/OIMOVETYPE,
InfoObject: 0STOCKRELEV BW: Relevance to Stock.
STOCKRELEV TYPE /BI0/OISTOCKRELEV,
InfoObject: 0CPPVLC BW: Purchase Value in Local currency.
CPPVLC TYPE /BI0/OICPPVLC,
InfoObject: 0CPSVLC BW: Sales Value in Local currency.
CPSVLC TYPE /BI0/OICPSVLC,
InfoObject: 0CPSTLC BW: Sales Value in Local currency.
CPSTLC TYPE /BI0/OICPSTLC,
InfoObject: 0CPQUABU BW: Amount in base unit of Measure.
CPQUABU TYPE /BI0/OICPQUABU,
InfoObject: 0VAL_TYPE Valuation Type.
VAL_TYPE TYPE /BI0/OIVAL_TYPE,
InfoObject: 0PROCESSKEY BW: Transaction Key.
PROCESSKEY TYPE /BI0/OIPROCESSKEY,
InfoObject: 0BATCH Batch number.
BATCH TYPE /BI0/OIBATCH,
InfoObject: 0MATMREA Reason for Goods Movement.
MATMREA TYPE /BI0/OIMATMREA,
InfoObject: 0BUS_AREA Business Area.
BUS_AREA TYPE /BI0/OIBUS_AREA,
InfoObject: 0COSTCENTER Cost Center.
COSTCENTER TYPE /BI0/OICOSTCENTER,
InfoObject: 0SOLD_TO Sold-to Party.
SOLD_TO TYPE /BI0/OISOLD_TO,
InfoObject: 0WHSE_NUM Warehouse Number / warehouse complex.
WHSE_NUM TYPE /BI0/OIWHSE_NUM,
InfoObject: 0STOR_LOC Storage Location.
STOR_LOC TYPE /BI0/OISTOR_LOC,
InfoObject: 0STRGE_BIN Storage Bin.
STRGE_BIN TYPE /BI0/OISTRGE_BIN,
InfoObject: 0STRGE_TYPE Storage Type.
STRGE_TYPE TYPE /BI0/OISTRGE_TYPE,
InfoObject: 0VENDOR Vendor.
VENDOR TYPE /BI0/OIVENDOR,
InfoObject: 0MATERIAL Material.
MATERIAL TYPE /BI0/OIMATERIAL,
InfoObject: 0DOC_NUM BW: Document Number.
DOC_NUM TYPE /BI0/OIDOC_NUM,
InfoObject: 0BASE_UOM Base Unit of Measure.
BASE_UOM TYPE /BI0/OIBASE_UOM,
InfoObject: 0DOC_YEAR BW: Document Year.
DOC_YEAR TYPE /BI0/OIDOC_YEAR,
InfoObject: 0PROFIT_CTR Profit center.
PROFIT_CTR TYPE /BI0/OIPROFIT_CTR,
InfoObject: 0DCINDIC Debit/Credit Indicator.
DCINDIC TYPE /BI0/OIDCINDIC,
InfoObject: 0LOC_CURRCY Local currency.
LOC_CURRCY TYPE /BI0/OILOC_CURRCY,
InfoObject: 0PLANT Plant.
PLANT TYPE /BI0/OIPLANT,
InfoObject: 0FISCVARNT Fiscal year variant.
FISCVARNT TYPE /BI0/OIFISCVARNT,
InfoObject: 0CPNOITEMS BW: Number of activities.
CPNOITEMS TYPE /BI0/OICPNOITEMS,
InfoObject: 0CO_AREA Controlling Area.
CO_AREA TYPE /BI0/OICO_AREA,
InfoObject: 0DOC_ITEM BW: Document Line Number.
DOC_ITEM TYPE /BI0/OIDOC_ITEM,
InfoObject: 0VALUE_LC Amount in local currency.
VALUE_LC TYPE /BI0/OIVALUE_LC,
InfoObject: 0QUANT_B Quantity in base units of Measure.
QUANT_B TYPE /BI0/OIQUANT_B,
InfoObject: 0MOVE_PLANT Receiving Plant/Issuing Plant.
MOVE_PLANT TYPE /BI0/OIMOVE_PLANT,
InfoObject: 0RECORDMODE BW Delta Process: Update Mode.
RECORDMODE TYPE RODMUPDMOD,
InfoObject: 0RT_RMAPIDA RMA Physical Inventory Date.
RT_RMAPIDA TYPE /BI0/OIRT_RMAPIDA,
InfoObject: 0BWCOUNTER Additional Key Field Revaluation Document
*Record.
BWCOUNTER TYPE /BI0/OIBWCOUNTER,
InfoObject: 0INDSPECSTK Indicator: Valuation of Special stock.
INDSPECSTK TYPE /BI0/OIINDSPECSTK,
InfoObject: 0GN_R3_SSY Source System for R/3 Entity.
GN_R3_SSY TYPE /BI0/OIGN_R3_SSY,
InfoObject: 0RT_MOVINV movement Type is Physical Inventory.
RT_MOVINV TYPE /BI0/OIRT_MOVINV,
InfoObject: 0RT_MOVADJ movement Type is Stock Adjustment.
RT_MOVADJ TYPE /BI0/OIRT_MOVADJ,
InfoObject: 0RSL_STMAT Structured Article.
RSL_STMAT TYPE /BI0/OIRSL_STMAT,
InfoObject: 0RT_MOVRET movement Type is Return.
RT_MOVRET TYPE /BI0/OIRT_MOVRET,
InfoObject: 0RSL_STAUTO Automatically Completed Component.
RSL_STAUTO TYPE /BI0/OIRSL_STAUTO,
InfoObject: 0RT_MOVTRAN movement Type is Stock Transfer.
RT_MOVTRAN TYPE /BI0/OIRT_MOVTRAN,
InfoObject: 0RT_MATPOST Transfer Posting from Article to Article
RT_MATPOST TYPE /BI0/OIRT_MATPOST,
InfoObject: 0RT_SASTSV Share of Business Volume for Set Sales Val
*ue in Local crcy.
RT_SASTSV TYPE /BI0/OIRT_SASTSV,
InfoObject: 0RT_SASTST Share of Business Volume for Set with Tax
*in Local currency.
RT_SASTST TYPE /BI0/OIRT_SASTST,
InfoObject: 0COORDER order number.
COORDER TYPE /BI0/OICOORDER,
InfoObject: 0RMA_LNK RMA Stock Transfer Reference Item.
RMA_LNK TYPE /BI0/OIRMA_LNK,
InfoObject: 0RMA_RFLG RMA Relevance Flag.
RMA_RFLG TYPE /BI0/OIRMA_RFLG,
InfoObject: 0RTHFEES Stock Transfer Fees.
RTHFEES TYPE /BI0/OIRTHFEES,
Field: RECORD.
RECORD TYPE RSARECORD,
END OF tys_SC_1.
TYPES:
tyt_SC_1 TYPE STANDARD TABLE OF tys_SC_1
WITH NON-UNIQUE DEFAULT KEY.
$$ begin of global - insert your declaration only below this line -
... "insert your code here
$$ end of global - insert your declaration only before this line -
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.
METHODS
inverse_start_routine
IMPORTING
i_th_fields_outbound TYPE rstran_t_field_inv
i_r_selset_outbound TYPE REF TO cl_rsmds_set
i_is_main_selection TYPE rs_bool
i_r_selset_outbound_complete TYPE REF TO cl_rsmds_set
i_r_universe_inbound TYPE REF TO cl_rsmds_universe
CHANGING
c_th_fields_inbound TYPE rstran_t_field_inv
c_r_selset_inbound TYPE REF TO cl_rsmds_set
c_exact TYPE rs_bool.
ENDCLASS. "routine DEFINITION
$$ begin of 2nd part global - insert your code only below this line *
TYPES:
BEGIN OF tys_SC_1_full,
InfoObject: 0STORNO Stornokennzeichen.
STORNO TYPE /BI0/OISTORNO,
InfoObject: 0RT_PROMO Aktion.
RT_PROMO TYPE /BI0/OIRT_PROMO,
InfoObject: 0VAL_CLASS Bewertungsklasse.
VAL_CLASS TYPE /BI0/OIVAL_CLASS,
InfoObject: 0DOC_DATE Belegdatum.
DOC_DATE TYPE /BI0/OIDOC_DATE,
InfoObject: 0STOCKTYPE Bestandsausprägung.
STOCKTYPE TYPE /BI0/OISTOCKTYPE,
InfoObject: 0STOCKCAT Bestandstypen.
STOCKCAT TYPE /BI0/OISTOCKCAT,
InfoObject: 0PSTNG_DATE Buchungsdatum im Beleg.
PSTNG_DATE TYPE /BI0/OIPSTNG_DATE,
InfoObject: 0COMP_CODE Buchungskreis.
COMP_CODE TYPE /BI0/OICOMP_CODE,
InfoObject: 0BWAPPLNM Anwendungskomponente.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0MOVETYPE Bewegungsart (Bestandsführung).
MOVETYPE TYPE /BI0/OIMOVETYPE,
InfoObject: 0STOCKRELEV BW: Best.Relevanz.
STOCKRELEV TYPE /BI0/OISTOCKRELEV,
InfoObject: 0CPPVLC BW: Einkaufswert in Hauswährung.
CPPVLC TYPE /BI0/OICPPVLC,
InfoObject: 0CPSVLC BW: Verkaufswert in Hauswährung.
CPSVLC TYPE /BI0/OICPSVLC,
InfoObject: 0CPSTLC BW: VerkWmS Hauswährung.
CPSTLC TYPE /BI0/OICPSTLC,
InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
CPQUABU TYPE /BI0/OICPQUABU,
InfoObject: 0VAL_TYPE Bewertungsart.
VAL_TYPE TYPE /BI0/OIVAL_TYPE,
InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
PROCESSKEY TYPE /BI0/OIPROCESSKEY,
InfoObject: 0BATCH Chargennummer.
BATCH TYPE /BI0/OIBATCH,
InfoObject: 0MATMREA Grund für die Warenbewegung.
MATMREA TYPE /BI0/OIMATMREA,
InfoObject: 0BUS_AREA Geschäftsbereich.
BUS_AREA TYPE /BI0/OIBUS_AREA,
InfoObject: 0COSTCENTER Kostenstelle.
COSTCENTER TYPE /BI0/OICOSTCENTER,
InfoObject: 0SOLD_TO Auftraggeber.
SOLD_TO TYPE /BI0/OISOLD_TO,
InfoObject: 0WHSE_NUM Lagernummer/Lagerkomplex.
WHSE_NUM TYPE /BI0/OIWHSE_NUM,
InfoObject: 0STOR_LOC Lagerort.
STOR_LOC TYPE /BI0/OISTOR_LOC,
InfoObject: 0STRGE_BIN Lagerplatz.
STRGE_BIN TYPE /BI0/OISTRGE_BIN,
InfoObject: 0STRGE_TYPE Lagertyp.
STRGE_TYPE TYPE /BI0/OISTRGE_TYPE,
InfoObject: 0VENDOR Lieferant.
VENDOR TYPE /BI0/OIVENDOR,
InfoObject: 0MATERIAL Material.
MATERIAL TYPE /BI0/OIMATERIAL,
InfoObject: 0DOC_NUM BW: Belegnummer.
DOC_NUM TYPE /BI0/OIDOC_NUM,
InfoObject: 0BASE_UOM Basismengeneinheit.
BASE_UOM TYPE /BI0/OIBASE_UOM,
InfoObject: 0DOC_YEAR BW: Belegjahr.
DOC_YEAR TYPE /BI0/OIDOC_YEAR,
InfoObject: 0PROFIT_CTR Profit Center.
PROFIT_CTR TYPE /BI0/OIPROFIT_CTR,
InfoObject: 0DCINDIC Soll-/Haben-Kennzeichen.
DCINDIC TYPE /BI0/OIDCINDIC,
InfoObject: 0LOC_CURRCY Hauswährung.
LOC_CURRCY TYPE /BI0/OILOC_CURRCY,
InfoObject: 0PLANT Werk.
PLANT TYPE /BI0/OIPLANT,
InfoObject: 0FISCVARNT Geschäftsjahresvariante.
FISCVARNT TYPE /BI0/OIFISCVARNT,
InfoObject: 0CPNOITEMS BW: Anzahl Vorgänge.
CPNOITEMS TYPE /BI0/OICPNOITEMS,
InfoObject: 0CO_AREA Kostenrechnungskreis.
CO_AREA TYPE /BI0/OICO_AREA,
InfoObject: 0DOC_ITEM BW: Belegpositionsnummer.
DOC_ITEM TYPE /BI0/OIDOC_ITEM,
InfoObject: 0VALUE_LC Betrag in Hauswährung.
VALUE_LC TYPE /BI0/OIVALUE_LC,
InfoObject: 0COORDER Auftragsnummer.
COORDER TYPE /BI0/OICOORDER,
InfoObject: 0QUANT_B Menge in Basismengeneinheiten.
QUANT_B TYPE /BI0/OIQUANT_B,
InfoObject: 0MOVE_PLANT Empfangendes/Abgebendes Werk.
MOVE_PLANT TYPE /BI0/OIMOVE_PLANT,
InfoObject: 0RECORDMODE BW Deltaverfahren: Update Modus.
RECORDMODE TYPE RODMUPDMOD,
InfoObject: 0RT_RMAPIDA RMA Inventurdatum.
RT_RMAPIDA TYPE /BI0/OIRT_RMAPIDA,
InfoObject: 0BWCOUNTER Zusätzliches Schlüsselfeld Umbewertungsbel
*egsatz.
BWCOUNTER TYPE /BI0/OIBWCOUNTER,
InfoObject: 0INDSPECSTK Kennzeichen Bewertung Sonderbestand.
INDSPECSTK TYPE /BI0/OIINDSPECSTK,
InfoObject: 0GN_R3_SSY Quellsystem der R/3 Entität.
GN_R3_SSY TYPE /BI0/OIGN_R3_SSY,
InfoObject: 0RT_MOVINV Bewegungsart ist Inventur.
RT_MOVINV TYPE /BI0/OIRT_MOVINV,
InfoObject: 0RT_MOVADJ Bewegungsart ist Bestandskorrektur.
RT_MOVADJ TYPE /BI0/OIRT_MOVADJ,
InfoObject: 0RSL_STMAT Strukturierter Artikel.
RSL_STMAT TYPE /BI0/OIRSL_STMAT,
InfoObject: 0RT_MOVRET Bewegungsart ist Retoure.
RT_MOVRET TYPE /BI0/OIRT_MOVRET,
InfoObject: 0RSL_STAUTO Automatisch ergänzte Komponente.
RSL_STAUTO TYPE /BI0/OIRSL_STAUTO,
InfoObject: 0RT_MOVTRAN Bewegungsart ist Umlagerung.
RT_MOVTRAN TYPE /BI0/OIRT_MOVTRAN,
InfoObject: 0RT_MATPOST Umbuchung Artikel an Artikel.
RT_MATPOST TYPE /BI0/OIRT_MATPOST,
InfoObject: 0RT_SASTSV Umsatzanteil am Set Verkaufswert in Hauswä
*hrung.
RT_SASTSV TYPE /BI0/OIRT_SASTSV,
InfoObject: 0RT_SASTST Umsatzanteil am Set Verkaufswert mit Steue
*r in Hauswährung.
RT_SASTST TYPE /BI0/OIRT_SASTST,
Field: RECORD.
RECORD TYPE RSARECORD, END OF tys_SC_1_full.
TYPES:
tyt_SC_1_full TYPE STANDARD TABLE OF tys_SC_1_full
WITH NON-UNIQUE DEFAULT KEY.
TYPES:
BEGIN OF tys_TG_1_full,
InfoObject: 0CHNGID Änderungslauf ID.
CHNGID TYPE /BI0/OICHNGID,
InfoObject: 0RECORDTP Satztyp.
RECORDTP TYPE /BI0/OIRECORDTP,
InfoObject: 0REQUID Request ID.
REQUID TYPE /BI0/OIREQUID,
InfoObject: 0CALDAY Kalendertag.
CALDAY TYPE /BI0/OICALDAY,
InfoObject: 0CALMONTH Kalenderjahr / Monat.
CALMONTH TYPE /BI0/OICALMONTH,
InfoObject: 0CALWEEK Kalenderjahr / Woche.
CALWEEK TYPE /BI0/OICALWEEK,
InfoObject: 0CALYEAR Kalenderjahr.
CALYEAR TYPE /BI0/OICALYEAR,
InfoObject: 0MATERIAL Material.
MATERIAL TYPE /BI0/OIMATERIAL,
InfoObject: 0PLANT Werk.
PLANT TYPE /BI0/OIPLANT,
InfoObject: 0STOR_LOC Lagerort.
STOR_LOC TYPE /BI0/OISTOR_LOC,
InfoObject: 0BATCH Chargennummer.
BATCH TYPE /BI0/OIBATCH,
InfoObject: 0STOCKTYPE Bestandsausprägung.
STOCKTYPE TYPE /BI0/OISTOCKTYPE,
InfoObject: 0STOCKCAT Bestandstypen.
STOCKCAT TYPE /BI0/OISTOCKCAT,
InfoObject: 0GN_VENDOR Lieferant.
GN_VENDOR TYPE /BI0/OIGN_VENDOR,
InfoObject: 0RECVS_VAL Zugangswert Bewerteter Bestand.
RECVS_VAL TYPE /BI0/OIRECVS_VAL,
InfoObject: 0ISSVS_VAL Abgangswert Bewerteter Bestand.
ISSVS_VAL TYPE /BI0/OIISSVS_VAL,
InfoObject: 0ISSBLOSTCK Abgangsmenge Gesperrter Bestand.
ISSBLOSTCK TYPE /BI0/OIISSBLOSTCK,
InfoObject: 0ISSCNSSTCK Abgangsmenge Konsignationsbestand.
ISSCNSSTCK TYPE /BI0/OIISSCNSSTCK,
InfoObject: 0ISSQMSTCK Abgangsmenge Qualitätsbestand.
ISSQMSTCK TYPE /BI0/OIISSQMSTCK,
InfoObject: 0ISSTRANSST Abgangsmenge Transitbestand.
ISSTRANSST TYPE /BI0/OIISSTRANSST,
InfoObject: 0RECBLOSTCK Zugangsmenge Gesperrter Bestand.
RECBLOSTCK TYPE /BI0/OIRECBLOSTCK,
InfoObject: 0RECCNSSTCK Zugangsmenge Konsignationsbestand.
RECCNSSTCK TYPE /BI0/OIRECCNSSTCK,
InfoObject: 0RECQMSTCK Zugangsmenge Qualitätsbestand.
RECQMSTCK TYPE /BI0/OIRECQMSTCK,
InfoObject: 0RECTRANSST Zugangsmenge Transitbestand.
RECTRANSST TYPE /BI0/OIRECTRANSST,
InfoObject: 0ISSSCRP Abgangsmenge Ausschuss.
ISSSCRP TYPE /BI0/OIISSSCRP,
InfoObject: 0ISSVALSCRP Abgangswert Ausschuss.
ISSVALSCRP TYPE /BI0/OIISSVALSCRP,
InfoObject: 0RECTOTSTCK Zugangsmenge Gesamt Bestand.
RECTOTSTCK TYPE /BI0/OIRECTOTSTCK,
InfoObject: 0ISSTOTSTCK Abgangsmenge Gesamtbestand.
ISSTOTSTCK TYPE /BI0/OIISSTOTSTCK,
InfoObject: 0ISSVALSTCK Abgangsmenge Bewerteter Bestand.
ISSVALSTCK TYPE /BI0/OIISSVALSTCK,
InfoObject: 0RECVALSTCK Zugangsmenge Bewerteter Bestand.
RECVALSTCK TYPE /BI0/OIRECVALSTCK,
InfoObject: 0VENCONCON Verbrauchswerte Lieferantenkonsignationsbe
*stand.
VENCONCON TYPE /BI0/OIVENCONCON,
InfoObject: 0LOC_CURRCY Hauswährung.
LOC_CURRCY TYPE /BI0/OILOC_CURRCY,
InfoObject: 0BASE_UOM Basismengeneinheit.
BASE_UOM TYPE /BI0/OIBASE_UOM,
Field: RECORD Nummer des Datensatzes.
RECORD TYPE RSARECORD,
END OF tys_TG_1_full.
TYPES:
BEGIN OF tys_SC_1__RULE_9,
InfoObject: 0BWAPPLNM Anwendungskomponente.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
CPQUABU TYPE /BI0/OICPQUABU,
InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
PROCESSKEY TYPE /BI0/OIPROCESSKEY,
InfoObject: 0STOCKCAT Bestandstypen.
STOCKCAT TYPE /BI0/OISTOCKCAT,
InfoObject: 0STOCKRELEV BW: Best.Relevanz.
STOCKRELEV TYPE /BI0/OISTOCKRELEV,
InfoObject: 0STOCKTYPE Bestandsausprägung.
STOCKTYPE TYPE /BI0/OISTOCKTYPE,
InfoObject: 0BASE_UOM Basismengeneinheit.
BASE_UOM TYPE /BI0/OIBASE_UOM,
END OF tys_SC_1__RULE_9.
TYPES:
BEGIN OF tys_SC_1__RULE_10,
InfoObject: 0BWAPPLNM Anwendungskomponente.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
CPQUABU TYPE /BI0/OICPQUABU,
InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
PROCESSKEY TYPE /BI0/OIPROCESSKEY,
InfoObject: 0STOCKCAT Bestandstypen.
STOCKCAT TYPE /BI0/OISTOCKCAT,
InfoObject: 0STOCKRELEV BW: Best.Relevanz.
STOCKRELEV TYPE /BI0/OISTOCKRELEV,
InfoObject: 0STOCKTYPE Bestandsausprägung.
STOCKTYPE TYPE /BI0/OISTOCKTYPE,
InfoObject: 0BASE_UOM Basismengeneinheit.
BASE_UOM TYPE /BI0/OIBASE_UOM,
END OF tys_SC_1__RULE_10.
TYPES:
BEGIN OF tys_SC_1__RULE_11,
InfoObject: 0GN_R3_SSY Quellsystem der R/3 Entität.
GN_R3_SSY TYPE /BI0/OIGN_R3_SSY,
InfoObject: 0STOCKCAT Bestandstypen.
STOCKCAT TYPE /BI0/OISTOCKCAT,
InfoObject: 0VENDOR Lieferant.
VENDOR TYPE /BI0/OIVENDOR,
END OF tys_SC_1__RULE_11.
TYPES:
BEGIN OF tys_SC_1__RULE_12,
InfoObject: 0BWAPPLNM Anwendungskomponente.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0CPPVLC BW: Einkaufswert in Hauswährung.
CPPVLC TYPE /BI0/OICPPVLC,
InfoObject: 0INDSPECSTK Kennzeichen Bewertung Sonderbestand.
INDSPECSTK TYPE /BI0/OIINDSPECSTK,
InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
PROCESSKEY TYPE /BI0/OIPROCESSKEY,
InfoObject: 0STOCKCAT Bestandstypen.
STOCKCAT TYPE /BI0/OISTOCKCAT,
InfoObject: 0STOCKRELEV BW: Best.Relevanz.
STOCKRELEV TYPE /BI0/OISTOCKRELEV,
InfoObject: 0LOC_CURRCY Hauswährung.
LOC_CURRCY TYPE /BI0/OILOC_CURRCY,
END OF tys_SC_1__RULE_12.
TYPES:
BEGIN OF tys_SC_1__RULE_13,
InfoObject: 0BWAPPLNM Anwendungskomponente.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0CPPVLC BW: Einkaufswert in Hauswährung.
CPPVLC TYPE /BI0/OICPPVLC,
InfoObject: 0INDSPECSTK Kennzeichen Bewertung Sonderbestand.
INDSPECSTK TYPE /BI0/OIINDSPECSTK,
InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
PROCESSKEY TYPE /BI0/OIPROCESSKEY,
InfoObject: 0STOCKCAT Bestandstypen.
STOCKCAT TYPE /BI0/OISTOCKCAT,
InfoObject: 0STOCKRELEV BW: Best.Relevanz.
STOCKRELEV TYPE /BI0/OISTOCKRELEV,
InfoObject: 0LOC_CURRCY Hauswährung.
LOC_CURRCY TYPE /BI0/OILOC_CURRCY,
END OF tys_SC_1__RULE_13.
TYPES:
BEGIN OF tys_SC_1__RULE_15,
InfoObject: 0GN_R3_SSY Quellsystem der R/3 Entität.
GN_R3_SSY TYPE /BI0/OIGN_R3_SSY,
InfoObject: 0STOCKCAT Bestandstypen.
STOCKCAT TYPE /BI0/OISTOCKCAT,
InfoObject: 0STOCKTYPE Bestandsausprägung.
STOCKTYPE TYPE /BI0/OISTOCKTYPE,
InfoObject: 0VENDOR Lieferant.
VENDOR TYPE /BI0/OIVENDOR,
END OF tys_SC_1__RULE_15.
TYPES:
BEGIN OF tys_SC_1__RULE_19,
InfoObject: 0BWAPPLNM Anwendungskomponente.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
CPQUABU TYPE /BI0/OICPQUABU,
InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
PROCESSKEY TYPE /BI0/OIPROCESSKEY,
InfoObject: 0STOCKRELEV BW: Best.Relevanz.
STOCKRELEV TYPE /BI0/OISTOCKRELEV,
InfoObject: 0BASE_UOM Basismengeneinheit.
BASE_UOM TYPE /BI0/OIBASE_UOM,
END OF tys_SC_1__RULE_19.
TYPES:
BEGIN OF tys_SC_1__RULE_20,
InfoObject: 0BWAPPLNM Anwendungskomponente.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
CPQUABU TYPE /BI0/OICPQUABU,
InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
PROCESSKEY TYPE /BI0/OIPROCESSKEY,
InfoObject: 0STOCKRELEV BW: Best.Relevanz.
STOCKRELEV TYPE /BI0/OISTOCKRELEV,
InfoObject: 0BASE_UOM Basismengeneinheit.
BASE_UOM TYPE /BI0/OIBASE_UOM,
END OF tys_SC_1__RULE_20.
TYPES:
BEGIN OF tys_SC_1__RULE_21,
InfoObject: 0BWAPPLNM Anwendungskomponente.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
CPQUABU TYPE /BI0/OICPQUABU,
InfoObject: 0INDSPECSTK Kennzeichen Bewertung Sonderbestand.
INDSPECSTK TYPE /BI0/OIINDSPECSTK,
InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
PROCESSKEY TYPE /BI0/OIPROCESSKEY,
InfoObject: 0STOCKCAT Bestandstypen.
STOCKCAT TYPE /BI0/OISTOCKCAT,
InfoObject: 0STOCKRELEV BW: Best.Relevanz.
STOCKRELEV TYPE /BI0/OISTOCKRELEV,
InfoObject: 0BASE_UOM Basismengeneinheit.
BASE_UOM TYPE /BI0/OIBASE_UOM,
END OF tys_SC_1__RULE_21.
TYPES:
BEGIN OF tys_SC_1__RULE_22,
InfoObject: 0BWAPPLNM Anwendungskomponente.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
CPQUABU TYPE /BI0/OICPQUABU,
InfoObject: 0INDSPECSTK Kennzeichen Bewertung Sonderbestand.
INDSPECSTK TYPE /BI0/OIINDSPECSTK,
InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
PROCESSKEY TYPE /BI0/OIPROCESSKEY,
InfoObject: 0STOCKCAT Bestandstypen.
STOCKCAT TYPE /BI0/OISTOCKCAT,
InfoObject: 0STOCKRELEV BW: Best.Relevanz.
STOCKRELEV TYPE /BI0/OISTOCKRELEV,
InfoObject: 0BASE_UOM Basismengeneinheit.
BASE_UOM TYPE /BI0/OIBASE_UOM,
END OF tys_SC_1__RULE_22.
TYPES:
BEGIN OF tys_SC_1__RULE_25,
InfoObject: 0GN_R3_SSY Quellsystem der R/3 Entität.
GN_R3_SSY TYPE /BI0/OIGN_R3_SSY,
InfoObject: 0STOCKCAT Bestandstypen.
STOCKCAT TYPE /BI0/OISTOCKCAT,
InfoObject: 0STOCKTYPE Bestandsausprägung.
STOCKTYPE TYPE /BI0/OISTOCKTYPE,
InfoObject: 0VENDOR Lieferant.
VENDOR TYPE /BI0/OIVENDOR,
END OF tys_SC_1__RULE_25.
TYPES:
BEGIN OF tys_SC_1__RULE_31,
InfoObject: 0BWAPPLNM Anwendungskomponente.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0CPPVLC BW: Einkaufswert in Hauswährung.
CPPVLC TYPE /BI0/OICPPVLC,
InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
PROCESSKEY TYPE /BI0/OIPROCESSKEY,
InfoObject: 0STOCKCAT Bestandstypen.
STOCKCAT TYPE /BI0/OISTOCKCAT,
InfoObject: 0STOCKRELEV BW: Best.Relevanz.
STOCKRELEV TYPE /BI0/OISTOCKRELEV,
InfoObject: 0LOC_CURRCY Hauswährung.
LOC_CURRCY TYPE /BI0/OILOC_CURRCY,
END OF tys_SC_1__RULE_31.
TYPES:
BEGIN OF tys_SC_1__RULE_37,
InfoObject: 0BWAPPLNM Anwendungskomponente.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
CPQUABU TYPE /BI0/OICPQUABU,
InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
PROCESSKEY TYPE /BI0/OIPROCESSKEY,
InfoObject: 0STOCKCAT Bestandstypen.
STOCKCAT TYPE /BI0/OISTOCKCAT,
InfoObject: 0STOCKRELEV BW: Best.Relevanz.
STOCKRELEV TYPE /BI0/OISTOCKRELEV,
InfoObject: 0STOCKTYPE Bestandsausprägung.
STOCKTYPE TYPE /BI0/OISTOCKTYPE,
InfoObject: 0BASE_UOM Basismengeneinheit.
BASE_UOM TYPE /BI0/OIBASE_UOM,
END OF tys_SC_1__RULE_37.
TYPES:
BEGIN OF tys_SC_1__RULE_38,
InfoObject: 0BWAPPLNM Anwendungskomponente.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
CPQUABU TYPE /BI0/OICPQUABU,
InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
PROCESSKEY TYPE /BI0/OIPROCESSKEY,
InfoObject: 0STOCKCAT Bestandstypen.
STOCKCAT TYPE /BI0/OISTOCKCAT,
InfoObject: 0STOCKRELEV BW: Best.Relevanz.
STOCKRELEV TYPE /BI0/OISTOCKRELEV,
InfoObject: 0STOCKTYPE Bestandsausprägung.
STOCKTYPE TYPE /BI0/OISTOCKTYPE,
InfoObject: 0BASE_UOM Basismengeneinheit.
BASE_UOM TYPE /BI0/OIBASE_UOM,
END OF tys_SC_1__RULE_38.
TYPES:
BEGIN OF tys_SC_1__RULE_39,
InfoObject: 0BWAPPLNM Anwendungskomponente.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
CPQUABU TYPE /BI0/OICPQUABU,
InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
PROCESSKEY TYPE /BI0/OIPROCESSKEY,
InfoObject: 0STOCKRELEV BW: Best.Relevanz.
STOCKRELEV TYPE /BI0/OISTOCKRELEV,
InfoObject: 0STOCKTYPE Bestandsausprägung.
STOCKTYPE TYPE /BI0/OISTOCKTYPE,
InfoObject: 0BASE_UOM Basismengeneinheit.
BASE_UOM TYPE /BI0/OIBASE_UOM,
END OF tys_SC_1__RULE_39.
TYPES:
BEGIN OF tys_SC_1__RULE_40,
InfoObject: 0BWAPPLNM Anwendungskomponente.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
CPQUABU TYPE /BI0/OICPQUABU,
InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
PROCESSKEY TYPE /BI0/OIPROCESSKEY,
InfoObject: 0STOCKCAT Bestandstypen.
STOCKCAT TYPE /BI0/OISTOCKCAT,
InfoObject: 0STOCKRELEV BW: Best.Relevanz.
STOCKRELEV TYPE /BI0/OISTOCKRELEV,
InfoObject: 0STOCKTYPE Bestandsausprägung.
STOCKTYPE TYPE /BI0/OISTOCKTYPE,
InfoObject: 0BASE_UOM Basismengeneinheit.
BASE_UOM TYPE /BI0/OIBASE_UOM,
END OF tys_SC_1__RULE_40.
TYPES:
BEGIN OF tys_SC_1__RULE_41,
InfoObject: 0BWAPPLNM Anwendungskomponente.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
CPQUABU TYPE /BI0/OICPQUABU,
InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
PROCESSKEY TYPE /BI0/OIPROCESSKEY,
InfoObject: 0STOCKCAT Bestandstypen.
STOCKCAT TYPE /BI0/OISTOCKCAT,
InfoObject: 0STOCKRELEV BW: Best.Relevanz.
STOCKRELEV TYPE /BI0/OISTOCKRELEV,
InfoObject: 0STOCKTYPE Bestandsausprägung.
STOCKTYPE TYPE /BI0/OISTOCKTYPE,
InfoObject: 0BASE_UOM Basismengeneinheit.
BASE_UOM TYPE /BI0/OIBASE_UOM,
END OF tys_SC_1__RULE_41.
TYPES:
BEGIN OF tys_SC_1__RULE_42,
InfoObject: 0BWAPPLNM Anwendungskomponente.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
CPQUABU TYPE /BI0/OICPQUABU,
InfoObject: 0PROCESSKEY BW:Vorgangsschlüssel.
PROCESSKEY TYPE /BI0/OIPROCESSKEY,
InfoObject: 0STOCKRELEV BW: Best.Relevanz.
STOCKRELEV TYPE /BI0/OISTOCKRELEV,
InfoObject: 0STOCKTYPE Bestandsausprägung.
STOCKTYPE TYPE /BI0/OISTOCKTYPE,
InfoObject: 0BASE_UOM Basismengeneinheit.
BASE_UOM TYPE /BI0/OIBASE_UOM,
END OF tys_SC_1__RULE_42.
TYPES:
BEGIN OF tys_SC_1__RULE_43,
InfoObject: 0BWAPPLNM Anwendungskomponente.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0CPQUABU BW: Menge in Basismengeneinheit.
CPQUABU TYPE /BI0/OICPQUABU,
InfoObject: 0MOVETYPE Bewegungsart (Bestandsführung).
MOVETYPE TYPE /BI0/OIMOVETYPE,
InfoObject: 0BASE_UOM Basismengeneinheit.
BASE_UOM TYPE /BI0/OIBASE_UOM,
END OF tys_SC_1__RULE_43.
TYPES:
BEGIN OF tys_SC_1__RULE_51,
InfoObject: 0BWAPPLNM Anwendungskomponente.
BWAPPLNM TYPE /BI0/OIBWAPPLNM,
InfoObject: 0CPPVLC BW: Einkaufswert in Hauswährung.
CPPVLC TYPE /BI0/OICPPVLC,
InfoObject: 0MOVETYPE Bewegungsart (Bestandsführung).
MOVETYPE TYPE /BI0/OIMOVETYPE,
InfoObject: 0LOC_CURRCY Hauswährung.
LOC_CURRCY TYPE /BI0/OILOC_CURRCY,
END OF tys_SC_1__RULE_51.
Additional types for start routine interface
TYPES:
data_package_structure type tys_SC_1_full.
Additional declaration for update rule interface
DATA:
MONITOR type standard table of rsmonitor WITH HEADER LINE,
MONITOR_RECNO type standard table of rsmonitors WITH HEADER LINE,
RECORD_NO LIKE SY-TABIX,
RECORD_ALL LIKE SY-TABIX,
SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS.
global definitions from update rules
INCLUDE rsbctgn_top.
INCLUDE rsbctgn_update_rules.
FORM routine_9998
TABLES DATA_PACKAGE TYPE tyt_SC_1_full
CHANGING
ABORT LIKE sy-subrc
RAISING
cx_sy_arithmetic_error
cx_sy_conversion_error.
init variables
fill the internal table "MONITOR", to make monitor entries
see OSS note 571669
LOOP AT DATA_PACKAGE.
IF DATA_PACKAGE-stockcat EQ 'V' OR
DATA_PACKAGE-stocktype EQ 'V'.
DELETE DATA_PACKAGE.
ENDIF.
ENDLOOP.
if abort is not equal zero, the update process will be canceled
ABORT = 0.
ENDFORM. "routine_9998
FORM routine_0012
USING
COMM_STRUCTURE type tys_SC_1__RULE_9
CHANGING
RESULT TYPE tys_TG_1_full-ISSCNSSTCK
RETURNCODE LIKE sy-subrc
ABORT LIKE sy-subrc
RAISING
cx_sy_arithmetic_error
cx_sy_conversion_error.
init variables
fill the internal table "MONITOR", to make monitor entries
only goods issue is considered
IF ( COMM_STRUCTURE-processkey EQ '100' "Other Issues
OR COMM_STRUCTURE-processkey EQ '101' "Returns / Vendor
OR COMM_STRUCTURE-processkey EQ '104' "Material Transfer
OR COMM_STRUCTURE-processkey EQ '105' "Stock Adjustment InvD
OR COMM_STRUCTURE-processkey EQ '106' "Stock Adjustment Other
OR COMM_STRUCTURE-processkey EQ '110' ) "Issue from Stock Transfer
AND COMM_STRUCTURE-bwapplnm EQ 'MM'
only movements which are relevant for stock control
AND COMM_STRUCTURE-stockrelev EQ '1'
AND COMM_STRUCTURE-cpquabu <> 0.
only consignment stock is considered
CASE COMM_STRUCTURE-stockcat.
WHEN 'K'.
RESULT = COMM_STRUCTURE-cpquabu.
RETURNCODE = 0.
WHEN space.
IF COMM_STRUCTURE-stocktype CA 'KLM'.
RESULT = COMM_STRUCTURE-cpquabu.
RETURNCODE = 0.
ELSE.
RETURNCODE = 4.
ENDIF.
WHEN OTHERS.
RETURNCODE = 4.
ENDCASE.
ELSE.
if the returncode is not equal zero, the result will not be updated
RETURNCODE = 4.
ENDIF.
if abort is not equal zero, the update process will be canceled
ABORT = 0.
ENDFORM. "routine_0012
FORM routine_0014
USING
COMM_STRUCTURE type tys_SC_1__RULE_10
CHANGING
RESULT TYPE tys_TG_1_full-RECCNSSTCK
RETURNCODE LIKE sy-subrc
ABORT LIKE sy-subrc
RAISING
cx_sy_arithmetic_error
cx_sy_conversion_error.
init variables
fill the internal table "MONITOR", to make monitor entries
only goods receipt is considered
IF ( COMM_STRUCTURE-processkey EQ '000' "Other Receipts
OR COMM_STRUCTURE-processkey EQ '001' "Goods Receipt / Vendor
OR COMM_STRUCTURE-processkey EQ '004' "Material Transfer
OR COMM_STRUCTURE-processkey EQ '005' "Stock Adjustment InvD
OR COMM_STRUCTURE-processkey EQ '006' "Stock Adjustment Other
OR COMM_STRUCTURE-processkey EQ '010' ) "Receipt from Stock Transfer
AND COMM_STRUCTURE-bwapplnm EQ 'MM'
only movements which are relevant for stock control
AND COMM_STRUCTURE-stockrelev EQ '1'
AND COMM_STRUCTURE-cpquabu <> 0.
only consignment stock is considered
CASE COMM_STRUCTURE-stockcat.
WHEN 'K'.
RESULT = COMM_STRUCTURE-cpquabu.
RETURNCODE = 0.
WHEN space.
IF COMM_STRUCTURE-stocktype CA 'KLM'.
RESULT = COMM_STRUCTURE-cpquabu.
RETURNCODE = 0.
ELSE.
RETURNCODE = 4.
ENDIF.
WHEN OTHERS.
RETURNCODE = 4.
ENDCASE.
ELSE.
if the returncode is not equal zero, the result will not be updated
RETURNCODE = 4.
ENDIF.
if abort is not equal zero, the update process will be canceled
ABORT = 0.
ENDFORM. "routine_0014
FORM routine_0041
USING
COMM_STRUCTURE type tys_SC_1__RULE_11
CHANGING
RESULT TYPE tys_TG_1_full-GN_VENDOR
RETURNCODE LIKE sy-subrc
ABORT LIKE sy-subrc
RAISING
cx_sy_arithmetic_error
cx_sy_conversion_error.
init variables
fill the internal table "MONITOR", to make monitor entries
... determine consolidated key
IF COMM_STRUCTURE-stockcat EQ 'K'.
PERFORM gn_get_global_key TABLES MONITOR
USING COMM_STRUCTURE-gn_r3_ssy
g_c_bwbeoty_r3vendor
COMM_STRUCTURE-vendor
RECORD_NO
RECORD_ALL
CHANGING RESULT
ABORT.
if the returncode is not equal zero, the result will not be updated
Endif.
RETURNCODE = 0.
ENDFORM. "routine_0041
FORM routine_0010
USING
COMM_STRUCTURE type tys_SC_1__RULE_12
CHANGING
RESULT TYPE tys_TG_1_full-ISSVS_VAL
RETURNCODE LIKE sy-subrc
ABORT LIKE sy-subrc
RAISING
cx_sy_arithmetic_error
cx_sy_conversion_error.
init variables
fill the internal table "MONITOR", to make monitor entries
only goods issue is considered
IF ( COMM_STRUCTURE-processkey EQ '100' "Other Issues
OR COMM_STRUCTURE-processkey EQ '101' "Returns / Vendor
OR COMM_STRUCTURE-processkey EQ '104' "Material Transfer
OR COMM_STRUCTURE-processkey EQ '105' "Stock Adjustment InvD
OR COMM_STRUCTURE-processkey EQ '106 -
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!) -
Start routine in DSO Self transformations
Hi SCN,
I need to write start routine to fill one of my target feild.
Here my info object is ZCust and attribute zpur_grp
My DSO have 0customer and zpur_grp.
Am creating self transformations for my dso and need to fill zpur_grp from zcust if dso-zpur_grp is blank.
condition is dso-0customer = info object-customer.
Am new to abap code part and confused about specifying fields and tables(/bic/).
Need suggestions to write sample format code.
Thanks in advance.
ChandraHi Chandra,
U need to write look-up code.
Below s sample code. it might be help you.
Declare Internal Table Like follow:
TYPES: BEGIN OF TY_CUST,
ZCust TYPE /BIC/ ZCust ,
zpur_grp TYPE /BIC/ zpur_grp
END OF TY_CUST.
select value for internal table.
SELECT /BIC/ ZCust /BIC/zpur_grp
FROM /BIC/PZCust
INTO TABLE IT_CUST
FOR ALL ENTRIES IN SOURCE_PACKAGE
WHERE /BIC/ZCust = SOURCE_PACKAGE-/BIC/0customer
AND OBJVERS = 'A'.
Then write Lookup code in start routine.
LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.
clear : WA_CUST_DBDIV.
* Read internal table for customer
READ TABLE IT_CUST
WITH KEY ZCust = <SOURCE_FIELDS>-/BIC/0custome
INTO WA_CUST_DBDIV
BINARY SEARCH.
*Populate the corresponding Customer and DB Division in RESULT_PACKAGE
IF SY-SUBRC = 0.
<SOURCE_FIELDS>-/BIC/0custome = WA_CUST_DBDIV-ZCust.
<SOURCE_FIELDS>-/BIC/zpur_grp = WA_CUST_DBDIV-zpur_grp.
ENDLOOP.
Hope it 'll help you.
Regards,
Mukesh
Maybe you are looking for
-
Not able to use any character as separator in date
Hi My application is running under forms 5. The date format for date field is mm/dd/rrrr. System allows me to enter any character as separator ie. 12b12b2007 and converts it to valid date like 12/12/2007. Now we have migrated it to forms 6, but now i
-
Imovie DVD to large, can it be compressed?
Hi all. This is a very basic question but it is coming from someone who has never used imovie. I have a finished movie I have to burn to a DVD. The movie is almost 10 GB! Is there anyway to compress the movie? Right now it may not even fit on some la
-
Problems importing raw files from nikon d610
My lightroom 4.4 will not import raw files from my new nikon d610. I downloaded the converted but cannot get that to work either. Please help
-
Photoshop 5 startet nach Neuinstallation nicht
Hallo Liste!<br />Mein Problem:<br />Nach der Installation von Windows 2000 und der Neuinstallation eines Scannertreibers (MiraScan) startet Photoshop nicht mehr.Auch eine wiederholte Neuinstallation des Programms brachte keine Veränderung.<br />Was
-
Cannot download to ipod-get application error
When I try to download to my new ipod I get through the download and when I try to finish I get a message that says the location is not a valid Win32 Application. I know this is a problem with my computer but can anyone tell me if I can fix it?