How to process Dynamic Action in BDC

Hi friends.
We are using HR_INFOTYPE_OPERATION to update some infotypes. The problem is that dynamic action does not get triggered as SY-BINPT = 'X' when we use this FM or BDC to update.
Now, is there any workaround so that we can process dynamic actions via our program?
Can somehow we call the subroutine DYN_ACTION from our program? Can the values of PSAVE etc be availabe in our program?
Thanks in adv!

Hi
Its kind of complicated to code dynamic actions in your BDC code. However , I would try my best to make you understand.
1. Make a BDC recording of the source screen.
2. Dynamic actions are stored in table: T588Z. Now during your screen processing of BDC data, you have to check the conditions yourself whether this was the condition which triggers the dynamic action.
3, Make another BDC recording of the target screens which are called due to dynamic actions. Now if the condition in the source screen is fullfilled and you have to call a dynamic action then direct your program flow to the BDC recording of the target screen and update all the fields which would be updated by Dynamic Actions in the normal user interaction of that screen.
In short, you have to program all those things which Dynamic action does since BDC does not support dynamic actions.
Reward points, if helpful.
Regards
Waz

Similar Messages

  • HR Abap ques - Process Dynamic Actions in BDC mode

    Hi friends.
    We are using HR_INFOTYPE_OPERATION to update some infotypes. The problem is that dynamic action does not get triggered as SY-BINPT = 'X' when we use this FM or BDC to update.
    Now, is there any workaround so that we can process dynamic actions via our program?
    Can somehow we call the subroutine DYN_ACTION from our program? Can the values of PSAVE etc be availabe in our program?
    Has someone done it before -> calling Dyn actions from your program?
    Thanks in adv!

    One more input -> I tried to include the MPPDAT00 in my main program and then call DYN_MEASURE in program <MPxxxx00>. But the values of PSAVE, DYNMEAS, etc don't seem to be there still.

  • How to include dynamic action in bdc

    Hi All,
    I want to update infotype 17 when an employee has joined through PA40 (Joining action).So i have written a dynamic action for this .But this dynamic ation does not get called in bdc for joining action.
    So infotype 17 is not maintained if we do joining through bdc.
    I have tried with user-exit zxpadu02 also, calling hr_infotype_operation on saving infotype 0001.But it gives return as 'Employee does not exist'.
    Since that infotype 0001 is still not saved.
    So what to do.
    Yogesh

    Hi Amit,
    For your information we can call dynamic action from BDC.
    go through this link
    how to include dynamic actions in bdc

  • Problem in calling dynamic actions in BDC

    Dear All,
    I have created a subroutine which is called when an entry is made in IT0015 for a particular wagetype. So I have used dynamic actions to serve the purpose.
    But the entries in IT0015 are made through a BDC, and I am facing in calling dynamic actions through BDC. I have tried the following code:
    DATA: opt TYPE ctu_params .
    DATA: zmode TYPE c VALUE 'N',
    zupd TYPE c VALUE 'A'.
    opt-dismode = zmode.
    opt-updmode = zupd.
    opt-defsize = 'X'.
    opt-nobinpt = 'X'.
    ******While calling transaction in BDC
    CALL TRANSACTION 'PA40' USING g_t_bdc
    OPTIONS FROM opt
    MESSAGES INTO g_t_messtab.
    But this does not work, it only calls the first screen of tcode PA30 and only populates the PERNR in that.
    Please suggest how do I rectify this problem.
    Regards,
    Kanupriya

    Hi Marcin,
    When I call PA30 without using options i.e.:
    CALL TRANSACTION 'PA30' USING BDCDATA MODE 'A' UPDATE 'S'.
    then, the BDC works perfectly and calls all the required screens correctly.
    But when I use:
    CALL TRANSACTION 'PA30' USING bdcdata
    OPTIONS FROM opt
    MESSAGES INTO messtab.
    then, it shows me only the first screen of PA30 and stops there.
    Also, if I hard code a break-point in my subroutine and save an entry in PA30, then the subroutine stops at the breakpoint. But if I call PA30 with SHDB transaction, then the code does not stop at subroutine which means the subroutine is not being called with SHDB.
    Please suggest why this is occuring.
    Regards,
    Kanupriya

  • Dynamic action in BDC session

    Hi,
    As per standard behaviour, dynamic actions are turned off during the execution of batch input sessions. 
    can anyone one me is it possible to  expicitly include dynamic actions in BDC session  as in online mode? if yes , then how can we achieve it.
    Thanks in advance!
    -Aleria

    Hi,
    I am she .
    Rgards,
    ARU

  • Custom program for dynamic actions in BDC

    Hi all,
    Did anyone work on dynamic actions in BDC. I got a method of doing, but looking out for a simpler one.
    Thanks..

    Hi,
    Any updates that happen via dynamic actions in online mode must be explicitly included in the BDC session since dynamic actions are turned off during the execution of batch input sessions.this is a standard behavior.
    Regards,
    Manoj.

  • How to create dynamic action

    hi friends,
    could u plz tell me how to create dynamic action? 
    with regards,
    Priya.S

    Hi
    I u need to write the dynamic action as below
    0002     ANZKD     06     3     P     PSPAR-TCLAS<>'B'
    0002     ANZKD     06     4     P     T001P-MOLGA='12'
    0002     ANZKD     06     5     P     P0002-ANZKD>='1'
    0002     ANZKD     06     6     I     INS,0021,2,,(P0002-BEGDA),(P0001-ENDDA)
    This should help you.  rewards
    Regards
    Suresh

  • How to Use Dynamic Action ?

    Dear All,
    i am using Apex 4.1 Ver.
    i need return value in text Area Item when i select any Value in Select List.
    i have One select List Item :p1_template_id and one text Area Item P1_template_description .
    Select List Code
    SELECT TEMPLATE_NAME D, TEMPLATE_ID R FROM TEMPLATE_MAS  ORDER BY TEMPLATE_NAME
    Table Name
    CREATE TABLE  "CRM_CAM_TEMPLATE_MAS"
       (     "TEMPLATE_ID" VARCHAR2(50) NOT NULL ENABLE,
         "TEMPLATE_NAME" VARCHAR2(500) NOT NULL ENABLE,
         "DESCRIPTION" CLOB
          CONSTRAINT "CRM_CAM_TEMPLATE_MAS_PK" PRIMARY KEY ("TEMPLATE_ID") ENABLE
    /i want to Value of DESCRIPTION Column in to Text Area Item when i select Template ID from Select List .
    How can i do this with Dynamic Action or any other Way ?
    How can i do this ?
    Thanks
    Vedant

    Hi Kiran,
    i have done it with Text Area but when i change text Area with Rich Text Editor then it's not Working.
    How can i do this with Rich Text Editor.
    My Code
    Application Process
    DECLARE
       v_mgr  VARCHAR2(4000);
       CURSOR cur_c
       IS
    SELECT DESCRIPTION FROM TEMPLATE_MAS WHERE TEMPLATE_ID =:TEMPLATE_ITEM ;
    BEGIN
       FOR c IN cur_c
       LOOP
          v_mgr := c.DESCRIPTION;
       END LOOP;
       OWA_UTIL.mime_header ('text/xml', FALSE);
       HTP.p ('Cache-Control: no-cache');
       HTP.p ('Pragma: no-cache');
       OWA_UTIL.http_header_close;
       HTP.prn ('<body>');
       HTP.prn ('<desc>this xml genericly sets multiple items</desc>');
       HTP.prn ('<item id="P1_SUMMARY">'||v_mgr|| '</item>');
       HTP.prn ('</body>');
    EXCEPTION
       WHEN OTHERS
       THEN
          OWA_UTIL.mime_header ('text/xml', FALSE);
          HTP.p ('Cache-Control: no-cache');
          HTP.p ('Pragma: no-cache');
          OWA_UTIL.http_header_close;
          HTP.prn ('<body>');
          HTP.prn ('<desc>this xml genericly sets multiple items</desc>');
          HTP.prn ('<item id="P1_SUMMARY">'||SQLERRM||'</item>');
          HTP.prn ('</body>');
    END;
    Java Script
    <script language="JavaScript" type="text/javascript">
    <!--
    function pull_multi_value(pValue){
        var get = new htmldb_Get(null,html_GetElement('pFlowId').value,
        'APPLICATION_PROCESS=TEMPLATE_ITEM1',0);
    if(pValue){
    get.add('TEMPLATE_ITEM',pValue)
    }else{
    get.add('TEMPLATE_ITEM','null')
        gReturn = get.get('XML');
        if(gReturn){
            var l_Count = gReturn.getElementsByTagName("item").length;
            for(var i = 0;i<l_Count;i++){
                var l_Opt_Xml = gReturn.getElementsByTagName("item");
    var l_ID = l_Opt_Xml.getAttribute('id');
    var l_El = html_GetElement(l_ID);
    if(l_Opt_Xml.firstChild){
    var l_Value = l_Opt_Xml.firstChild.nodeValue;
    }else{
    var l_Value = '';
    if(l_El){
    if(l_El.tagName == 'INPUT'){
    l_El.value = l_Value;
    }else if(l_El.tagName == 'SPAN' &&
    l_El.className == 'grabber'){
    l_El.parentNode.innerHTML = l_Value;
    l_El.parentNode.id = l_ID;
    }else{
    l_El.innerHTML = l_Value;
    get = null;
    //-->
    </script>
    HTML Form Element Attributes
    onChange="pull_multi_value(this.value)";
    For Riich Text Editor i have changed these value in Application Process and table column data Type
    v_mgr  clob;
    DESCRIPTION Column Type Clob
    How can i do this with Rich text Editor /
    Thanks                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • How to Handle Dynamic actions in batch mode???

    Hello Experts,
    We have a requirement where we need to automate PA40.  The data would be sent in csv file and we need to perform the required steps to insert data into Infotypes.
    The issue is in batch mode (background mode), the dynamic actions wouldn't be called and the business wants the dynamic actions to be considered as well. 
    Pls let me know if there is any way we can interpret the dynamic actions dynamically; meaning the prog should be able to handle the newly created dynamic actions as well.
    Any pointers to this are highly appreciated.
    Regards
    RK

    Hi.
    As far as i know, the limitation comes from the BDC execution itself, it doesn't really matter whether the execution is online or in batch mode.
    * dynamische Massnahme
        IF sy-binpt EQ space.
    *      befinden wir uns im ALE-Eingang ?
          CLEAR: ale_flag.                                   "XFYAHRK063273
          call function 'RHAP_ALE_FLG_GET'                   "XFYAHRK063273
            importing                                        "XFYAHRK063273
              ale_flg = ale_flag.                            "XFYAHRK063273
          IF ale_flag IS INITIAL.                            "XFYAHRK063273
            IF pspar-vinft NE space.  "infotype view         "XYLPH9K007065
              PERFORM dyn_measure IN PROGRAM (view_repid).   "XYLPH9K007065
            ELSE.                                            "XYLPH9K007065
              PERFORM dyn_measure.
            ENDIF.                                           "XYLPH9K007065
            PERFORM process_m
    One thing you could try to do to avoid this and get the dynamic measures executed is to use the NOBINPT variable of the OPTIONS structure in CALL TRANSACTION
      DATA opt TYPE ctu_params.
      opt-dismode = 'A'.
      opt-nobinpt = 'X'.
      CALL TRANSACTION 'PA30' USING bdcdata OPTIONS FROM opt.
      PERFORM close_group.

  • How to use dynamic action to fill multi item on a page ?

    Hi..
    I want to fill multi items on a page so I build a dynamic action ( Execute PL/SQL Code ) to do it .The problem is that when the page loads I can't see any data and I tried to see the session values using debug and I found data. Moreover when I save the row I got these data saved.
    So what is the magic there?
    Thanks

    Firstly, to get the multi-select populated with "pre-selected" values the easiest approach is to use Computation or Process at a process point On Load Before Header or After Header or Before Regions.
    All you need to do is populate your "Select List " page Item with : (colon) separated list of selected values. E.g is you want A,B and C out of A,B,C,D,E selected then get A:B:C into the Page Item.
    If you have used Dynamic Actions, what is your event on which the action fires? For Dynamic-Actions the page (HTML DOM) needs to be existing , so it must fire after the page has loaded.
    Regards,

  • How to make dynamic actions using Set Value work in all browsers?

    I’m having a cross-browser incompatibility issue with dynamic actions using Set Value.  The dynamic action works like a charm on Chrome but has no effect on either IE or Firefox.  The code in oracle.apex.com and here are the credentials:
    Workspace: DDBA
    Username: [email protected]
    Password: redtruck12
    These code is on page 3 and here are the details:
    There are two report lists (Standard and Special) and some of the reports require additional information supplied in either select lists or text boxes.
    If the user selects a Standard report requiring a select list/text box, then the dynamic action sets the value of Special Reports to NULL (and vice-versa).
    The dynamic action is to prevent a simultaneous selection of both the Standard and Special reports.  To see how it works on Chrome, do this:
    Run Page 3
    Select the ‘Report for Search Criteria’ option from the Standard Report list.  A ‘Search Criteria’ text box appears
    Select the ‘Report by Release’ option from the Special Reports list.  A select list appears and the ‘Search Criteria’ text box disappears.
    If you do the same things on IE or Firefox, the text box does not disappear. 

    Hi,
    Things are going wrong with setting the item values to NULL. If you check your session state, you'll see that in chrome your items values indeed will be set to null, but in firefox they won't.
    Also I've noticed that you don't reset the other input fields, so their values persist in the session state. Since you submit your page every time you change one of the report select lists, this might lead to unexpected behaviour. Lastly, I've noticed you use a sql exists expression to manage the display/hide of your page items. A condition of type "Value of  expression 1 = expression 2" causes less overhead as you don't need to switch to the db sql engine for every item to validate.
    I'd suggest you rethink your specs and try to create:
    - One dynamic action (since a value of standard select excludes the value of special select, and vice versa)
    - Set the values for hidden items to null, also in session state
    - Use a refresh of region as extra event in your dynamic action, instead of submitting your page for every change.
    Regards,
    Vincent
    http://vincentdeelen.blogspot.com

  • How to handle dynamic screens in bdc

    HI SIR,
    i am working on BDC for CA02 in this i have probelm that if operation 10 it doesnot contains any items it showing one  screen and if operation 10 contain some items
    and its item counter increasing automatically in this case it coming to this screen through some other screen.so.plz help me how to handle this dynamic screens in bdc ,plz help.

    hi sir,
              now i am working BDC UPLOAD with tcode CA02 in this in second screen their are some rows like in table control
    opt
    10                x
    20
    30                 x
    like above in this if row one of column contains 'x' then if i want to fill sub item then it display i one screen EX 100 else if it dsplay screen 200(ie item 10 already contains subitems it display  x in one row column(i.e selected check box) else it show unselected check box.plz tell how to know wheather check box is selected or not from screen to .plz tell.
    thanking u

  • How to maintain Dynamic Action for Infotype 2 .

    Hi SAP-HR Experts .
    I want to maintain Dynamic Action for Infotype 2 .
    If Employee's No. of Children exceeds then System immediately ask for maintenence of IT-21 also at the same time .
    How to maintain code in table V_T588Z .
    Please elaborate it .
    Thanks & Regards : rajneesh .

    Hi kanupriya .
    your reply was Very helpful for me u2026But i unable to achieve the desired result . I maintained the entries in View V_T588Z like this .My Objective is when some body update the Infotype 2 for a employee , and his/her no. of Childrens exceeds by 2 then system should jump into IT-21 for
    updation of IT-21 at the same time . I think this what Dynamic Actions work out .
    ==========================================================
         ANZKD 04 500 P PSPAR-TCLAS='A'
         ANZKD 04 175 P T001P-MOLGA='40'
         ANZKD 04 176 P P0002-ANZKD>='2'
         ANZKD 04 177 I INS,0021,2,01
         ANZKD 04 178 I INS,0021,2,02
    ==========================================================
    Please suggest me what to do , as the above entries are not workout .
    Your help will be very appreciated.
    Regards ,
    rajneesh(9873607039)

  • Reg: SAP HR ---how to apply Dynamic actions

    Hi Gurs,
    Whenever subgroup RH to RS or RS to RH change then only it will create the infotype 8.Otherwise it will create the COPY for the infotype 8.
    We did the configartion but whnever RH is coming then only it was showing as create.it was not comparing..But we need whenever to change subgroup RH to RS  or RS to RH then only it will create the infotype 8 otherthan these two it will copy for the infotype 8.
    Ex: if we change RH to CB then it will Copy the infotype..If we change CB to RH then it will create the infotype..
    Can you please advise me whether we need to do any dynamic actions..bcease recently moved to functional..I dont have much idea about the functional side...
    Can you please suggest me if we need to dynamic actions please provide me the steps how to follow..
    Waitng for your response...
    Regardds,
    Kiran.

    hello Kiran..
    Is this requirement  when  you try to change any employee in PA30 ?
    If yes, I think we can do this using BADI
    BADI:    HRPAD00INFTY
    In this we  have a method called AFTER_INPUT ...I think here we can read the current employee subgroup  value from the
    parameter I503  and read the old value of subgroup from the infotype 0002  and then compare from RS to RH or RH to RS..
    then if it changes create infotype 8....for creation or copy use HR_INFOTYPE_OPERATION function module....
    Hope this helps...please let me know

  • How to trigger dynamic action

    hi all,
    i am using HR_INFOTYPE_OPERATION to update or insert data in infotype 0000. it has been updated but i am also want to insert data in P0001 for same employee number(pernr) and same data. i want to do this with dynamic action. is it possible?????
    thanks
    Sachin

    Hi Ajay,
    When you use BDC or FM to update infotype, you can not call dynamic action as it wont be supported by SAP.
    So if you wnat to meet your requirement you have to create one RFC FM inside which you can call from the user exit or after your code had executed the FM operation and got the success message you can call the same FM for updating other infotypes.
    The best approach can be to create BDC sessions for updating each infotype after you have done with update of IT0000.
    Hope this will help you in resolving your queries.
    Regards,
    guds

Maybe you are looking for

  • PowerView error -Cannot create a connection to data source 'TemporaryDataSource'.

    Hello and thanks for the time. I am getting the following error when trying to create a powerview report.  I don't get where is this TemporaryDataSource is and how do I check the permissions on it?  that is what this error is pointing to, no?  I trie

  • Vendor Master or F-58 field

    Good Day, We are doing download program which involves F-58 to bank as a process of automatic payment. In this file that will be sent to bank to process payment, the bank requires SAP to capture a field which will indicate "Agent Charge" . Agent Char

  • Adding a Z field in the material master at the plant level

    Hi, I want to add a new text field in the material master. The data maintained inthis field should be easliy retrievable using  some STD SAP Report or using Abap query ( SQ01/SQ02) Please advise how do i do it. Regards,

  • Changing spacing in grid lines in Numbers

    Does anyone know how to change the grid line spacing in the new Numbers??  The default spacing is much wider and higher than the old, and I can't see any way to change it other than manually reducing each one line by line.  I have about 50 lines... t

  • Airport express, la musica no suena de manera continua, se corta mucho, qué debo hacer,

    Hola, tengo problemas para que el sonido sea continuo. Conexion Infinitum 2Mb un Airport conectado vía ethernet al Infinitum, 2WIRE Model 2701; con éste cree una red. otro Airport conectado de manera inalambrica a la red AIRPORT, y al aparato de soni