Transformation Start Routine
Hi,
I have installed the infocubes (0PS_C08, 0PS_C081) from the Business content but I can't activate any of the transformations because of a problem in the start routine.
the message of the error:
----> E:A line of "GT_SOURCE" and "<SOURCE_FIELDS>" are not mutually
convertible. In a Unicode program, "GT_SOURCE" must have the same
structure layout as "<SOURCE_FIELDS>", irrespective of the length of a.
Does anyone have any idea how to solve the problem?
Best Regards,
Hi,
In fact generally this error should occur when you migrate a flow from 3.x to 7.x, but in my case this problem showed just after the business content installation ( I didn't migrate the flow it is a 7.X standard flow).
I have checked the start routine, and no field is missing. <Source_Fields> and GT_SOURCE did have the same structure but their fields weren't put in the same order, so when I used the APPEND command it generated this error.
I've put the fields in the same order and the transformation could be activated which resolved the problem.
Thank you.
Similar Messages
-
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 -
Convert ABAP code in start routine/update rule to transform. start routine
Dear BW ABAPers,
I have created a custom purchasing info cube (YCP_PURC1) based on 0CP_PURC1 standard cube. I would like to convert this new data flow to BI7 (from 3.x), and convert the standard update rule to transformation. I would need to rewrite the below start routine from the standard update rule to a start routine ABAP code in the newly created transformation / start routine. My ABAP knowledge is limited. Will you please help?
*this is the start routine from the update rule. As a side note, the data source is 2LIS_02_SCL.
LOOP AT SOURCE_PACKAGE.
IF ( SOURCE_PACKAGE-cppvlc EQ 0
AND SOURCE_PACKAGE-cppvoc EQ 0
AND SOURCE_PACKAGE-cpquaou EQ 0 ).
DELETE SOURCE_PACKAGE.
CONTINUE.
ENDIF.
no_scl is initial ( e.g. for good receipts, billing)
value has to be set depending on storno
IF SOURCE_PACKAGE-no_scl IS INITIAL.
IF SOURCE_PACKAGE-storno = 'X'.
SOURCE_PACKAGE-no_scl = -1.
ELSE.
SOURCE_PACKAGE-no_scl = 1.
ENDIF.
MODIFY SOURCE_PACKAGE.
ENDIF.
ENDLOOP.
if abort is not equal zero, the update process will be canceled
ABORT = 0.
Many thanks and look forward to your kind feedback.
Kind regards,
CsabaDear All, Durgesh,
thanks to you all for your valuable input. Mainly the ABAP part was more interesting for me.
Durgesh, thanks for your input, it was useful. I just had to change the info objects to data source fields and add the lines before the loop:
DATA: I_PACKAGE TYPE TYT_SC_1.
FIELD-SYMBOLS <i_package> TYPE tys_sc_1.
I_PACKAGE[] = SOURCE_PACKAGE[].
LOOP AT SOURCE_PACKAGE assigning <i_package>.
IF ( <i_package>-BWGEO EQ 0
AND <i_package>-BWGEOO EQ 0
AND <i_package>-BWMNG EQ 0 ).
DELETE SOURCE_PACKAGE index sy-tabix.
CONTINUE.
ENDIF.
no_scl is initial ( e.g. for good receipts, billing)
value has to be set depending on storno
IF <i_package>-NOSCL IS INITIAL.
IF <i_package>-ROCANCEL = 'X'.
<i_package>-NOSCL = -1.
ELSE.
<i_package>-NOSCL = 1.
ENDIF.
ENDIF.
ENDLOOP.
Points have been assigned accordingly.
Thanks,
Csaba -
Using MAX in transformations / Start Routine
Hi,
I am trying to use MAX function in an ABAP routine (transformation / Start) and it shows following error -
"Unknown column name "MAX(/BIC/ZQMCOUNT)" until runtime, you cannot specify a field list.". Here is part of my code -
>>
data: v_counter(10) type n.
SELECT MAX(/BIC/ZQMCOUNT)
INTO v_counter
FROM /BIC/AZDPM_DS300.
<<
Any thoughts please.
Regards
VikashHi there,
Sometimes you have to put some spaces between the parantehsis in the max, min or count, like this:
data: v_counter(10) type n.
SELECT MAX( /BIC/ZQMCOUNT )
INTO v_counter
FROM /BIC/AZDPM_DS300.
Can you try that?
Diogo. -
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 -
Raising cx_rsrout_abort exception in Start Routine of Transformations
Hello Abap OO Gurus:
This is likely a very simple question but I'm brand new to Abap OO and despite reading and searching, I cannot convert some old abap code used in the start routine of business content in BW to be used in the Transformation start routine in SAP BI.
My Start Routine inside a BI 7.0 transformation rule has a method declared like this:
<b>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.</b>
The Exception "cx_rsrout_abort" has replaced what used to be a simple ABORT data field. The <u>old code I want to replace was just "abort = 1'.</u>
But now it seems like I have to use TRY... ENDTRY statement to raise Exception "cx_rsrout_abort". I am inside the abap code of the Method "start routine"
METHOD start_routine.
*=== Segments ===
Could some kind soul educate me as to how to raise the Exception "cx_rsrout_abort" inside the Method start routine?
thanks in advance, DavidTx HDev:
we are almost there... I have that PDF but never got thru to the rest of the Appendix B as my project is just too crazy...
When try what Appenix B suggest..
<u>"raise exception type CX_RSROUT_SKIP_RECORD."</u>
I get the following Warning msg which makes sense...
<b>"W:The exception CX_RSROUT_SKIP_RECORD is neither caught nor is it
declared in the RAISING clause of "START_ROUTINE".</b>
The METHOD statement in the start routine never declares another exception other than cx_rsrout_abort as seen below:
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.
Maybe NW2004s has a bug here... I'm hoping that a SAP Developer reads this posting and can enlighten us all... otherwise I'll have to post a OSS msg
So the mystery is still how to do
"raise exception type CX_RSROUT_ABORT" and make this equal to ABORT = 1
which makes the start routine skip a record
tx again, David -
Dear All,
I have activated the infocube 0sd_c03 with grouping "in data flow before" and the infocube is activated with datasources
2LIS_11_VAITM
2LIS_11_VAHDR
2LIS_12_VCITM
2LIS_12_VCHDR
2LIS_13_VDITM
2LIS_13_VDHDR in 3.x where as
TRCS 2LIS_13_VDITM -> CUBE 0SD_C03 in transformation with DTP.
when I activate the transformation I get error as mentioned below:
Start Routine: Syntax error in routine and in the start routine when I check the details of the error is
E:In PERFORM or CALL FUNCTION "ROUTINE_9998", the actual parameter
"SOURCE_PACKAGE" is incompatible with the formal parameter
"DATA_PACKAGE".
If source pakage is replaced by data package the system message is data_package is not available.
What do I do to resolve this issue.
KShi,
There is a structral diffrence between SOURCE_PACKAGE and DATA_PACKAGE
so you need to change tys_SC_1_full
go through the below links for similar problem
Re: 0IC_C03: 2LIS_03_BF Transformation Start Routine Activation error
Re: 2LIS_03_BF transformation problem -
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 Gurus,
We are nw04s BI SP10 and I've completely implemented Note 981194. I can't seem to get my start routine update rules to convert using Transformation Erzeugen. I tried several scenarios, and still no success.
If somebody has code for BI 7 transformation start routine for datasources 2LIS_03_BX, BF and UM to the 0IC_C03 cube, I would greatly appreciate an email to [email protected] . Points will be assigned. I can cut/paste the routines from the update rules, I just need the start routines.
Kind Regards,
AlexAlex
Don't trust the converter - you have to check it all from end to end anyway so might as well do it manually.
I did the whole of _BF yesterday.
Here's the start routine.
*<2004s code>
field-symbols:
<fs_SOURCE_PACKAGE> type tys_sc_1.
only movements from to evaluated stocks are concerned
if stock-category is not intitial -> Delete from data-packag
or Header of generic article -> Delete from data-packag
loop at SOURCE_PACKAGE assigning <fs_SOURCE_PACKAGE>.
if not <fs_SOURCE_PACKAGE>-bsttyp is initial
or ( <fs_SOURCE_PACKAGE>-bwvorg = '450' and
<fs_SOURCE_PACKAGE>-bwapplnm = 'IS-R' ) .
delete SOURCE_PACKAGE.
endif.
endloop.
*</2004s code>
Cheers
Guy -
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 -
Start Routine on Transformations
Hi Friends
I've Start routine on transfer rules with internal table and it was working fine.
Now I'm trying to define the internal table with occurs 0 but it's throwing error saying occurs not support in new version.
How can we define an internal table in start routine of transformations in BI7?
The code as follows for internal table.
data: begin of it_ord occurs 0,
AUFNR(000012) TYPE C,
ZZARBPL(000008) TYPE C,
WERKS(000004) TYPE C,
end of it_ord.
Regards,
Chandu.Hi
I've defined as follows
types: begin of it_ord ,
AUFNR(000012) TYPE C,
ARBPL(000008) TYPE C,
WERKS(000004) TYPE C,
end of it_ord.
data: temp_tabix like sy-tabix,
is_datapak type tys_SC_1.
data it_ordt type table of it_ord .
It's throwing error saying it_ort is a table with no header line and therefore has no component called aufnr.
If I define with header line then header line not supported.
What could be the problem?
I've changed like you said but it's giving the following error.
E:"IT_WA" is not a table with header line.
Regards,
Chandu.
Edited by: Chandu on Feb 18, 2009 8:44 AM -
Start Routine: Syntax error in routine 2LIS_03_BF Transformations
Hi experts,
I enhanced the 2lis_03_bf data source, and replicated the data source in bw system, i have mapped the transformations and when i try to activate the transformations it is giving the below error.
Start Routine: Syntax error in routine
when i check the start routine it is giving the below error message.
E:In PERFORM or CALL FUNCTION "ROUTINE_9998", the actual parameter
"SOURCE_PACKAGE" is incompatible with the formal parameter
"DATA_PACKAGE".
please provide me the solution.
Regards
venuscmHi Venu,
This seems to me like you have earlier migrated the update rules to transformations. We did the same earlier and faced issues whenever we add new fields/infoobjects. The error message was different, if i remember correctly.
We had to add the new field/infoobject added, to the structure '_ty_s_*****' that exists at the top of the start routine code. This was one disadvantage of migration of rules. -
Start routine to set 0CURRENCY value as USD in transformations
Hi All,
I have an amount field which is being extracted from a flat file and I have to set the currency key field; 0CURRENCY to USD in the transformation in BI 7.0. I see that I cannot do that in transformations so I was thinking of hardcoding in start routine. Can anyone please let me know the code I need to put in?
Thanks in advance!Sia,
Please use function module RSW_CURRENCY_TRANSLATION for currency conversion.
Please check this thread:
Re: currency translation
Hope it helps.
Regards,
Mona -
Difference between Start Routine and End Routine in Transformations
Hi Friends,
I'm using BI 7.0... here in Transformations step we have two options..that is START ROUTINE... and END ROUTINE... What is the Difference between Start Routine and End Routine in Transformations..
When we go for Start Routine.. and when we go for End Routine..
Plz clarrify... points will be rearded..
thanks
babuHi,
One real time scenario for End Routine.
We have a scenario where in a datasource field is mapped to three infoobjects on the datatarget side. There are 2 key figures which need to get data after these these Infoobjects are filled. The best place for this to happen would be in a End Routine, where in we would loop through the results package and using the values of the infoobjects from the data target ( Cube in this case).
Hope this helps,
HD -
How to write the start routine in the transformations ?
Hi Experts,
I am working on BI 7, As I want to write a start routine in transformations of 0FIGL_O02 DSO, to allow the GL accounts with cost center data. Already there is a delete statement please find.
*DELETE SOURCE_PACKAGE where BAL_FLAG = 'X'. I had made comment to allow the G/L accounts. since I have some GL Accounts which does'nt have the cost center data, so in this case I have to write a ABAP code to allow this G/L accounts with cost center data.
So Let me know if anyone can help me how to write the ABAP code in the start routine.
Thanks
sekharHi Experts,
I am working on BI 7, As I want to write a start routine in transformations of 0FIGL_O02 DSO, to allow the GL accounts with cost center data. Already there is a delete statement please find.
*DELETE SOURCE_PACKAGE where BAL_FLAG = 'X'. I had made comment to allow the G/L accounts. since I have some GL Accounts which does'nt have the cost center data, so in this case I have to write a ABAP code to allow this G/L accounts with cost center data.
So Let me know if anyone can help me how to write the ABAP code in the start routine.
Thanks
sekhar
Maybe you are looking for
-
User defined characteristics for planning hierarchy
Hi Experts, I am using flexible planning for sales planning when I define a planning hierarchy, I want to include a user defined field also. The requirement is like this, Planner wanted to see the cumulative sales figures of domestic and exports (Exp
-
Bonjour Dans Dreamweaver CS6 12.2 la dernniere mise à jour je ne trouve pas dans le panneau insertion insérer une balise Div de mise en forme de grille fluide quelqu'un peux me dépanner merci
-
How to takes effect immediately, after change or cancel the last deploy
If I deployed a software, but I found the program property was wrong, purpose is set to "required". A lot of client were pushed this software, so I change the purpose to "available". How to make all client take effect immediately? Environment: SCCM 2
-
Apple computer and free iPod nano
Hi I'm from Canada and I'm wondering if this offer is still valid. I've scanned through the site and found nothing that was helpful. If I purchase from this site, whats wrong with sending my rebate to a neighboring country.
-
Certification failed: App Policies: 10.3
Hi, I have a much needed update off my app ready for submission. However, the update failed certification stating it closes upon launching, (therefore not testable and non-compliant with policy 10.3). From the crash reports of the updated version i g