Types of routines

Hi
Can any body tell me how many types of routines available and what is the difference between start routine, updated routine and transfer routine in which scenarios will u go this each routine , Plz help iam new to this topic , i will give u points to you.my mail id is [email protected]
Regards
manikanta

Dear Manikanta ,
You have various types of Routines in BW .
1) Start Routine in Transfer Rules
2) Transfer Routine in Transfer Rules.
3)Start Routine in Update Rules
4)Update Routine in Update Rules.
The routines that you write in transfer rules are applicable to all the Data targets that get the data from that particular Infosource, when you are going to write some code in Transfer rules, you have to understand that you are going to manupilate the data that is going to get into BW .
If you are going to write in Update Rules , then that logic is going to apply only for that particular Data target .
Eg : Let suppose I have a Flat file that gets data from 3 countries, US, Canada and Mexico.
Now I have prepared the data source for the same . But I dont want to have the data of Mexico in to BW itself.
So I will write a Start routine at TR to eliminate the data of Mexico.
My Next step is I want the data of US into one ODS and Canada data in to another ODS.
For this I handle the dataflow at Start routine in Update rules, to eliminate Canada data for US ODS and Vice Versa.
Hope this gives you clear idea.
Thanks,
Krish
*Assigning points is way of sayin Thanks in SDN

Similar Messages

  • What are the types of routines

    hi experts
    can some one give me clear idea on what are the types of routine we use in sap bi
    with scenarios?
    what is CMC?
    Please search the forum before posting a thread
    Edited by: Pravender on Apr 7, 2011 12:56 PM

    Hi,
    In BI 7.0 we have the following types of routines.
    1. Start Routine.
    2. End Routine.
    3. Expert Routine.
    This routines can be used in the complex scenarios and to improve the performance of the loading time.
    I am elaborating the routine in details here.
    1. Start Routine : whenever you create a start routine, the system will automatically give you some predefined data declaration like structure of the type of your source. In start routine you can declare a local data declaration and Global data declaration also. I will give one example.
    Suppose you are creating Start routine for transformation from Datasource to DSO. Then when you create start routine the System will provide you a structure of your datasource. By using this structure it will also define an internal table which will be used as changing parameter of a method of a class. It is this changing parameter where you have to do all sorts of manipulation. The changing parameter is both export as well as import parameter. This changing parameter will contain data in the package wise.
    In start routine you can also read some database table and store that data into an internal table and this internal table data can then be read in the field level routine. In this case it acts as a substitute of master data look up in the field level transformation.
    2. End routine : The end routine is also same as start routine, the only difference is that here the system will provide you with a structure of the target not the source. and rest is all same as start routine.
    3. Expert routine : This is the strongest and most complex of all routines. This allows you to design the entire data flow of the transformation. If you create an Expert routine the system will automatically delete all the field level mapping, Start routine and end routine. You also have to take care of the error handling and monitoring
    assign points if it helps
    Thanks & Regards,
    santo

  • PO Output Type / Processing Routine Problem

    Hello everyone,
    I cannot seem to find any reference to the problem described below.
    I have encountered a problem by migrating from SAPFM06P to SAPLMEDRUCK during an ECC 5.0 upgrade, at a client where I am under contract as an ABAP Developer.
    Here is some background to the situation.  The client is currently migrating from version 4.6C to 5.0 and thought it was a good idea to upgrade their purchase order messaging  programs from the outdated SAPFM06P, which was utilized in version 3.x, to the newer program SAPLMEDRUCK implemented for use in version 4.6.
    Specifically, Message Output (ME9F) controls the output of purchase order messages in foreground, when the purchase order message is saved and the "further Data option" of the PO message contains "requested processing" equal to the value of "send with application own transaction".  This way, the actual messaging can be controlled in foreground and "breakpoints" can be set to display tables and fields.  Behind the scenes, the message status program RSNAST00 is executed by ME9F program RM06ENDR_ALV.  During this execution, it locates the message (NAST) record from the purchase order and the (TNAPR) configuration, which links the output type to the ABAP print program and SAPscript layout set.  The specific problem is: in RSNAST00, the external call perform "PERFORM (TNAPR-RONAM) in PROGRAM (TNAPR-PGNAM) USING RETURNCODE US_SCREEN IF FOUND" does not pass NAST information to the called program (TNAPR-PGNAM).  I know no NAST table information is passed because I set a break-point on the perform and single step to the print program.  Therefore, the purchase order is unknown by the print program (TNAPR-PGNAM) and results in an error and no purchase order print is provided.  Needless to say, this was tested with a new "Z" version of SAPLMEDRUCK.  So, I changed the program name (output type processing routine) in configuration to SAPLMEDRUCK, but there again the NAST information is not passed to the print program from RSNAST00.  Ironically, I reverted back to the older "z" version of SAPFM06P and NAST and TNAPR information is passed to the print program thru the external call perform quoted above.  I prefer to not modify the SAP original code for RSNAST00, which is used in many other applications.
    One other note, I had previously performed this maneuver on one different occasion with very successful results.
    Has anyone ever encountered this problem in a 5.0 environment (running Windows NT and MSSQL and SAP BASIS 6.4).
    I know this is long winded, but I wanted to explain the background of the entire situation.
    Any and all help would be appreciated.  Thanks in advance,

    Dave,
    Your entry points (like form ENTRY_NEU) should remain in your current version of SAPFM06P.  Change that form to reflect the function calls in the new SAPLMEDRUCK form (ENTRY_NEU) (calls to ME_READ_PO_FOR_PRINTING and ME_PO_PRINT.
    Look at the example below:
    Here is the form in your old (Z) version of SAPFM06P:
    FORM ENTRY_NEU USING ENT_RETCO ENT_SCREEN.
    XSCREEN = ENT_SCREEN.
    IF NAST-AENDE EQ SPACE.
       XDRUVO = '1'.
    ELSE.
       XDRUVO = '2'.
    ENDIF.
    CLEAR: XFZ, XOFFEN, XLMAHN, XLPET.
    *- Anstoß Verarbeitung -
    CLEAR ENT_RETCO.
    PERFORM LESEN USING NAST.
    MOVE RETCO TO ENT_RETCO.
    ENDFORM.
    Here is form entry_neu in your new (Z) version of SAPFM06P:
      INCLUDE FM06PE02                                                   *
    form entry_neu using ent_retco ent_screen.
      data: l_druvo like t166k-druvo,
            l_nast  like nast,
            l_from_memory,
            l_doc   type meein_purchase_doc_print.
      clear ent_retco.
      if nast-aende eq space.
        l_druvo = '1'.
      else.
        l_druvo = '2'.
      endif.
      call function 'ME_READ_PO_FOR_PRINTING'
           exporting
                ix_nast        = nast
                ix_screen      = ent_screen
           importing
                ex_retco       = ent_retco
                ex_nast        = l_nast
                doc            = l_doc
           changing
                cx_druvo       = l_druvo
                cx_from_memory = l_from_memory.
      check ent_retco eq 0.
      call function 'ME_PRINT_PO'
           exporting
                ix_nast        = l_nast
                ix_druvo       = l_druvo
                doc            = l_doc
                ix_screen      = ent_screen
                ix_from_memory = l_from_memory
                ix_toa_dara    = toa_dara
                ix_arc_params  = arc_params
                ix_fonam       = tnapr-fonam          "HW 214570
           importing
                ex_retco       = ent_retco.
    endform.
    Remember, the form should be in the Z version of SAPFM06P - not the Z version of SAPLMEDRUCK.  Make sure the configuration (TNAPR) has the SAPFM06P program name and entry point.
    It should work.  Let me know how it goes.
    Rick

  • Output Types Processing Routines

    Hi experts,
    I need help regarding the Output Types Processing Routines.
    In SAP, there are several Processing Routines, how does the processing routines work if you put a Program and Forms to Processing 1 and Processing 2?
    Points will be rewarded.
    Thanks....

    Hi Salem,
    When you execute a program through a transaction, then the first program and the first form are executed..
    These entries are maintained in NAST table.. Now, the first o/p is displayed... When you press the BACK button on the o/p of first form screen, It goes back to the SAP code and check for the second entry if any, if it exists, it calls the second progarm and the second form.. and so on..
    Thanks and Best Regards,
    Vikas Bittera.
    **Reward if useful**

  • How many types of routines .....

    hi gurus,
    how many types of routines .....
    plz any one suggest how we can use ....
    regards,
    praveen

    hi there is 2 types of routines,
    internal and external,
    in the internal subrutines,
    you can use passing values
                      reference values,
                      passing by referrence .
    <REMOVED BY MODERATOR>
    venkat.
    Edited by: Alvaro Tejada Galindo on Mar 4, 2008 10:55 AM

  • Enable and Disable Pricing Condition Type thru Routine in Tcode: VOFM

    Hi
    I have a scenario while creating a new sales order using Tcode: VA01. The conditions at line item are as follows:
    Condition Type----Amount----Condition Value
    ZBR5--4.000%----0.66
    ZBS1--8.000%----1.31
    Now the above case, my requirement is Condition Type ZBS1 should be displayed or calculated only when first condition type i.e. ZBR5 has amount more than 8.000%.
    In case it is less than 8.000%, the Condition Type ZBS1 should be ZERO or (would be better if not displayed).
    What i have tried till now is, created a new Routine in VOFM but after creating a new routine, i am unable to check the Amount fo Condition Type ZBR5 at runtime, as the Internal Table : XKOMV holds the details of Header data only, whereas my requirement is of Conditions at Line Item.
    Inputs on this will be helpful.
    Regards
    Masoom
    Edited by: Masoom_Infosys on Oct 3, 2011 2:24 PM

    Hi Naimesh
    Apology, i missed this point. I have alredy tried what you have suggested. I made a Condition Value and change value of XKWERT. The output of this change was:
    Condition Type----Amount----Condition Value
    ZBR5--4.000%----0.66
    ZBS1--8.000%----0.00
    If you observe above, the Condition Value is ZERO but the Amount remains as it is , that is 8.000%. In the code, i have tried to change the value of XKOMV-KBETR to 0.00, but still the output remains as:
    Condition Type----Amount----Condition Value
    ZBR5--4.000%----0.66
    ZBS1--8.000%----0.00
    Could you suggest some other way so that the output becomes:
    Condition Type----Amount----Condition Value
    ZBR5--4.000%----0.66
    ZBS1--0.000%----0.00
    Regards
    Masoom

  • Output type and Routine

    Hi All,
    I have created one Z* output type and attached it with Z* program. and it is having routine called ENTRY_N. Now when i execute a transaction which will trigger my output type, is giving me error saying "Processing routine ENTRY_N in program Z* does not exist".
    Can anyone help.
    Regards,
    Dharmesh

    > Hi,
    >
    > in the Driver Program have a routine with name ENTRY.
    > just paste it.
    >
    >
    FORM ENTRY USING RETURN_CODE US_SCREEN.
    >
    >   CLEAR RETCODE.
    >   XSCREEN = US_SCREEN.
    <i>>   PERFORM PROCESSING.</i>
    >   IF RETCODE NE 0.
    >     RETURN_CODE = 1.
    >    ELSE.
    >     RETURN_CODE = 0.
    >   ENDIF.
    >
    > ENDFORM.
    >
    > and put the aboce code in it.
    >
    in the above code Perform processing you need include all your open_forms and write_forms, close_form. the data you are trying to pass it to script. i hope it is clear.you need to put that logic in the <b>form ENTRY</b>.
    regards
    vijay

  • MIRO - Invoice Output types (MR90)  Routines Based on Specific Suppliers

    Hi All,
    Requirement is to trigger Invoice outputs for a specific set of suppliers, while doing invoice verification in MIRO and the same need to be processed in MR90 for the output.
    Is there a routine which triggers a invoice output ( type REKL) only for specfic set of suppliers, for e,g if the suppliers are all ERS suppliers then it should trigger "REKl" else not?
    I am aware we have a routine 181 which can be modified but wanted to know from experts if this kind of requirements has a standard solution.
    Will appreciate any help regarding this.
    Note :Standard settings and customization have been done and triggering output is not an issue so please address the specific requiremennts.
    Regards
    Swagat Panda

    Would like to know more on how your are cancelling ERS invoices already settled? as i am not able to cancel them in MR8M is there any other ways around it?
    Also, Sub Cr we are using not for back dated price changes but since we are a service company we don't have concepts of MAP prices for the materials all are account assigned materials and get expensed and revaluation will just act as a statistical entry as there won't be stock at any point of time.
    The invoice reduction we are not using as these are all ERS invoices and if there is any amount to be debited to the supplier we come to know after a settlement run (MRRL) is over and we see a "visual" quality defect at a later point of time as i mentioned earlier we don't have stock.
    So this is one of the reason why we are debited the supplier at a later stage using Sub Cr and for this the vendor has to be sent a "notification" that we are going to debit him for a delivery ( account assigned ).
    But your suggestions were helpful in setting up business rules.
    Please be in touch.
    Regards
    Swagat Panda

  • Regarding "TYPES & "CONVERSION ROUTINES"............

    Hi abapers,
    Can we have a code snippet as given below,
    TYPES : NUMB TYPE I VALUE 100.
    DATA : NUM1 TYPE NUMB.
    WRITE : / NUMB, NUM1.
    what will be the output?. Will the value 100 be copied to the field NUM1?
    Next question is regarding "conversion routines". I read that "conversion routines" can be assigned to fields(variables) in abap?. What are "conversion routines"? What are their purpose? Also explain me the purpose of "EDIT MASK"?
    Thanks in advance.
    <REMOVED BY MODERATOR>
    Edited by: Alvaro Tejada Galindo on Jun 27, 2008 1:29 PM

    Hi,
    Conversion Routine..
    I will just give you an example.....
    For us in user interface English language is EN... but for system it is Just 'E'...
    There conversion will happen from user to system and while retrieving from system to user..
    So there are two routines for that.
    CONVERSION_EXIT_ <conversion routine name> _OUTPUT
    CONVERSION_EXIT_ <conversion routine name> _INPUT.
    These coversion routines do the conversion job
    check this link..
    http://help.sap.com/saphelp_erp2004/helpdata/en/33/206bc8012e11d3b495006094192fe3/content.htm
    Hope this would help you..
    Regards
    Narin Nandivada.

  • Practical Differences between types of routines....

    Hi ,
    Which are the practical differences between :
    1) a function so as to return a value/data set....
    2) a procedure which defines an OUT parameter so as to return a value/data set....Thanks ,
    Simon

    Performance is another aspect that at times can play a role.
    A function passes a value from one stack to another stack - reference by value. This means the result of the function is copied from the function's stack to the caller's stack when the function terminates and its stack is popped.
    A procedure can use reference by name (pointers). In this case the output of the procedure's parameter is written directly into the variable of the caller. No copying.
    When the parameter is large (think CLOBs for example), a function returning a CLOB can be significantly slower that a procedure with a IN OUT NOCOPY CLOB parameter.

  • Need help to write Routine

    Hi Gurus,
    I need your urgent help on one requirement. I have to write a routine and the requirement is to bring data for K.F. "B" via comparing Materials between 0Material and 0MAT_UNITS.
    0Material is already present in my flow and being loaded from DSO1 to DSO2 but 0MAT_UNITS not present. So I have to use a look-up on it using Materials from 0Material.
    Materials has to be taken from 0Material and using condition as Observer-A(active)  have to match with the materials of 0MAT_UNITS. If the material is present in 0MAT_UNITS with observer 'A' then take the Denominator and Numerator value for that material and produce a conversion factor for that material i.e. (Denominator/Numerator).
    Now this factor need to be multiply with a K.F. "A" (already present in my DSO1) and assign the value to K.F. "B" as output (DSO2).
    So pls guide me how should I code it in routine and which type of routine should I prefer.
    Any effective help will be highly appreciated!!!!

    Dear Ravi,
    Thanks for the promt response.
    Actually no as such user exit is found for this requirement.
    U know in the transaction VOFM we can create formula for example in my case for condition value..this is achieved by routine(some form in the include program) and then the routine number can be assigned in the configuration setting for the particular transaction. This is what info so far I have searched..but how to crete the routine and all.still i'm searching. Hope I gave you some ground abt the prob??
    So if any body have ever come across this requirement..please suggest.
    Thanks.
    Anup.

  • Key Figues - SUMMATION in Expert Routine

    Hi All,
    Is there any to way to have to aggregation of Key Figures as "Summation" in Expert Routine??
    Please let me know if there is any work around for this..
    Thanks,
    Kapil

    This type of routine is only intended for use in special cases. You can use the expert routine if there are not sufficient functions to perform a transformation. The expert routine should be used as an interim solution until the necessary functions are available in the standard routine.
    Hi Kapil,
          You can use expert routine to program the transformation yourself without using the available rule types. You must implement the message transfer to the monitor yourself.
         If you have already created transformation rules, the system deletes them once you have created an expert routine.
         If the target of the transformation is a DataStore object, key figures are updated by default with the aggregation behavior Overwrite (MOVE). So i think expert routine aggregation does not work for transformation to the standard DSO.
    For more details:
    [https://forums.sdn.sap.com/click.jspa?searchID=13078965&messageID=2823817]
       Hope it helps you.
    Regards,
    Yokesh

  • TRANSMISSION MEDIUM AND FORM ROUTINE IN CASE OF NACE TRANSACTION

    While saving a invoice, I have created a routine which will pick an output type when a certain condition is met.
    A custom report (Zprogram) needs to be triggered automatically during this invoice save. So we need to attach this Zprogram to output type.
    Could anybody tell me the transmission medium to be selected and also what needs to be entered in the field Form routine for this program which I have created in the transaction NACE->V3(Billing)->Output types->Processing routines?
    Thanks in advance.

    HI Shah,
    Form routine is nothing but a sub routine in your Z program (Driver Program). Simply one driver program can be used in multiple Layouts by using Form routines. If you are using the driver program only for one layout, then the routine declaration is not necessary.
    Simply select the transmission medium as Print out in case of print. Special function means whether you want trigger this form for only Bill-to-party or Ship-to-party etc.. I hope you need to maintain as SH or BP, check with your functional people once.
    You can check the below link for further customization reference.
    Link: [output type configuration;
    You can check the below link to know the exact meaning for Form routine.
    Link: [https://forums.sdn.sap.com/click.jspa?searchID=13772541&messageID=5319599]
    Regards,
    Raghu..

  • Base price calculation in sales order using Routines.

    Dear all,
    I have a requirement related to usage of routine in pricing procedure. The requirement is as given below.
    A base price for a material is entered in the contract manually using a customized condition record.Later a sales order will be raised with reference to contract. now we need to bring the price entered in the contract to sales order after some calculations done using a customized "Z TABLE"
    We are trying to use routines to trigger to calculate the base price in the sales order.
    Please suggest what type of routine to be used in such cases(ex formula,pricing etc)
    Also please go through the below mentioned example for better understanding.
    Contract price : Quantity 3: base price 10,000 per day Total : 30,000 perday
    ZTABLE : number of days per month will be maintained in the table based on the working days.
    Sale Order : Quantity 1 : Month working days 23 total 2,30,000 (We need to calculate this total and display as base price in sales order)
    Please suggest how to address this using routines.

    Dear Mudigonda,
    As per your scenario you are creating sales order with reference to the contract and here in contract you are maintaining the manual price . that means the same manual price has to copy to sales order level then as per the calculation rule it will multiply with your Z table value .
    For this requirement you can make some changes in copy control from contract to sales order, here at item category level you have to change pricing type to 'B' so that what ever your manual price value will populate to sales order level after that due to calculation rule value will change .
    Regards,,
    C.B Reddy.

  • Output determination routines

    Hi,
    I have an enhancement to develop output determination routines for the Output types in the Shipment document to trigger outbound interface to the Freight Forwarder based on the Shipment statuses.
    Need to develop 2 routines say 950,951.
    SD Shipment :
    Output Type      Application      Routine Number
    ZE01                           V7                              9XX
    ZE02                            V7                              9XX
    Routine for ZE01.
    For the Shipment document number in the table VTTK (VTTK-TKNUM),check status VTTK-STTRG = 1 (Planning completed) then the Output will be triggered.
    Routine for ZE02.
    For  the Shipment document in the table VTTK table check the status in VTTK-STRRG = 4 (Loading End) then issue the output.
    I have created the routines and wrote the code for ZE01 like below.
    FORM KOBED_984.
    *if status of vttk-sttrg(Overall transportation status) is 1,(Planning completed) then outputtype is triggered.
    IF VTTK-STTRG = 1.
      SY-SUBRC = 0.
    ELSE.
       SY-SUBRC = 4.
    ENDIF.
    ENDFORM.
    This will work fine.?Or I need to consider the shipment document number anywhere.?NAST-OBJECTKEY will hold the document number.?i need to loop it.?or just the sy-subrc check is only required..?
    Kindly help..
    /Ranjith

    Hi,
    If you really want to be 100% sure that your requirements are rechecked before output, you need to use your own entry module when processing NASt output
    See e.G. in TNAPR for your output type which print program/ form entry is used and replace it by your own entry module : Then you can check your own rules again and cancel before doing the actual output( i.e. don't call the 'processing' form )
    ( contra : you need make a copy of standard print program )
    Alternatively, you could check e.g. the userexits that are triggered when reading the document data to be printed and set the correct return code ( r.g. retcode = 4 when your validations are not met ). This will stop processing also. ( e.g. GET_DATA_USEREXIT )
    The correct names of the variables etc..depend on the print program that you are actually using .
    ( pro : Could maybe be done without copying standard print program )
    Is it still standard print program ?
    rgds
    Dirk

Maybe you are looking for

  • B1 8.8 and Crystal Reports datasource issues

    Hello everyone, the HowTo on using CR with 8.8 recommends the SAP B1 Datasource type for reports. In our setup this datasource type does not work (logon failed message after entering credentials) while OLE (ADO DB) does. SAP B1 Datasource type would

  • Error creating instance of class from same package

    When I try to create an instance of a class that is in the same package, my IDE indicates that the constructor can not be found. Can anyone tell me what is wrong? Thanks. Below are the codes for both classes: package com.practice; import java.applet.

  • Transfer of Production Version

    Hi Gurus, i am trying to transfer the Production Versions of a Material to an other System via IDoc. I am using BD10 for transfering.. The relevant Segment E1MKALM in MATMAS05 is filled with all data from the source. But in the Target Systen tge Prod

  • Help on how to deploy a java application

    i have written my first application in java and have now to deploy it. i have used the servlet.jar, and javamail apis along with other regular ones. i wanna know whether my clients needs to have all these jar files with him or will having just the cl

  • Problem processing JSP document

    Hi, I'm new to JSP and got such a problem: I have the following JSP document named JSPdoc.jspx <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0">   <jsp:text>     <html>     <head>     <title> Simple JSP Document </title>     </head>