Approximate operator and recursive call function in abap

Dear expert,
Please give me an example about Approximate operator and recursive call function in abap
thanks so much

Hi
About Approximate operator, you can go to tcode 'ABAPDOCU', searching CO,CN,CA etc...each of them have example there.
And recursive function,
Say here is a FM,
FUNCTION recursive_get_number.
*import im_num type i.
*export ex_num type i.
ex_num = im_num + 1.
IF ex_num GE 100.
   EXIT.
ELSE.
   CALL FUNCTION recursive_get_number
        EXPORTING
           im_num = ex_num
        IMPORTING
           ex_num = ex_num.
ENDIF.
ENDFUNCTION.
When you call this function from outside with importing parameter '1',  then will return you 100.
regards,
Archer.

Similar Messages

  • Call function in abap routine of infopackage

    Experts,
    Good day. I have a problem concerning the data to be imported in my ods.I can't find a similar thread corcerning my problem. My ‘File date’ field should contain only 2 years and 3months data of recent data. I'm using a call function fima_date_create to filter values of zfile_date.
    CALL FUNCTION 'FIMA_DATE_CREATE'
      EXPORTING
        I_DATE                             = sy-datum
        I_FLG_END_OF_MONTH   = ' '
        I_YEARS                          = 2-
        I_MONTHS                        = 3-
        I_DAYS                             = 0
        I_CALENDAR_DAYS          = 0
        I_SET_LAST_DAY_OF_MONTH       = ' '
      IMPORTING
        E_DATE                             =
        E_FLG_END_OF_MONTH   =
        E_DAYS_OF_I_DATE         =   
    The sy-datum becomes the “High” value and the date generated by this FM will be the “low” value. I already tested this function module and it is what i want. How Should I write the ABAP code for this in the abap routine for my infopackage? Or what steps do I need to take.

    Hi,
    When you choose the option to write a routine for one of the characteristics in the infopackage selections, you get a window to write your code with some prewritten code as below. Modify it as shown below, for your requirement.
    data: l_idx like sy-tabix.
    read table l_t_range with key
         fieldname = 'CALDAY'.
    l_idx = sy-tabix.
    START of YOUR CODE
    <----
    Required logic -
    >
    L_T_RANGE-LOW  = <lower limit of range>.
    L_T_RANGE-HIGH = <upper limit of range>.
         L_T_RANGE-SIGN = 'I'.
         L_T_RANGE-OPTION = 'BT'.
    END of YOUR CODE
    modify l_t_range index l_idx.
    p_subrc = 0.
    Hope this helps.

  • Trace of Authorization checks on recursive called functions

    Hi all,
    I need to search all authority checks that one standard report make on recursive calls to reports/functions. Does somebody knows how I can do it?
    Thanks a lot.

    Hello,
    Start transaction st01 and enable the trace for "authority check".
    Start your programm and when it is done disable the trace.
    Then choose analysis and all the checks will be displayed.
    Hope this help,
    Walter
    Please reward all participants

  • Call functions in ABAP : CALL 'ThSysInfo'

    hi
    i am in need of certain information abt the blow code\
    i just wanted to knw where the value HWID gets populated from after executing the below code
    can any body help plzzz
    CALL 'ThSysInfo'
         ID 'OPCODE'   FIELD OPCODE_MSGSERVER
         ID 'MSOPCODE' FIELD MS_GET_HWID
         ID 'HW_ID'    FIELD HWID
         ID 'ERRMSG'   FIELD ERRMSG.
    just want to how the value HWID gets populated in this script
    kindly help
    its Urgent
    <b><REMOVED BY MODERATOR></b>
    regards
    shoeb
    Message was edited by:
            Alvaro Tejada Galindo

    pllz help me what is the solution for these
    ThSysInfo - How to change the parameters???
    CALL 'ThSysInfo'
          ID 'OPCODE'        FIELD OPCODE_GET_VIRT_HOSTDATA
          ID 'PROTOCOL'      FIELD PROTOCOL
          ID 'VIRT_IDX'      FIELD VIRT_IDX
          ID 'HOST'          FIELD HOSTNAME
          ID 'PORT'          FIELD PORT.
    i want to change the hostname as by default through system it is taking some hostname but i want to change that hostname can u plzz guide me how to change that hostname as i am using these FM in my webdynpro method
    pllzz hel me as soon as

  • Hold function and conference calling trouble

    The hold button and conference call functions just don't work on my phone. I have erased all data and reset the phone through ITunes and it still doesn't work. Is anyone else having this problem? Is there something I am doing wrong?
    G5   Mac OS X (10.4.10)  

    Okaaay ...
    As I said, my iPhone is not hacked. *T-Mobile is an official seller of the iPhone in Austria!*
    And concerning your statement, that iPhones won't work with 4 year old SIM cards:
    My *not hacked* iPhone works perfectly with my 4 year old SIM card except for the in the OP mentioned function!
    As already said before, I found out, that this specific conference call service is not supported by the Austrian network. Neither with the iPhone nor with any other phone.
    And yes, I've got an original, not hacked iPhone! So pleeease stop telling me the contrary!

  • How to zip and mail xls-file in abap ?

    hi there,
    i have the following coding in a z-program:
    TRY.
              cl_bcs_convert=>string_to_solix(
                EXPORTING
                  iv_string   = lv_string
                  iv_codepage = '4103'  "suitable for MS Excel, leave empty
                  iv_add_bom  = 'X'     "for other doc types
                IMPORTING
                  et_solix  = binary_content
                  ev_size   = size ).
            CATCH cx_bcs.
              MESSAGE e445(so).
          ENDTRY.
          CALL METHOD document->add_attachment
            EXPORTING
              i_attachment_type    = 'XLS'                          
              i_attachment_subject = lv_subject
              i_attachment_size    = size
              i_att_content_hex    = binary_content.
    the xls-excel-sheet which is attached to the mail (which will be send later in the coding) is now to big for mailing. so i want to ZIP the xls and send the ZIP-file (with the xls-file inside) in the mail.
    i have gone trough numbers of posting here in SDN concerning the class cl_abap_zip
    but i have no idea how i can implement this in my coding above.
    any ideas ?
    best regards, Martin

    Hello all,
    I have the same probelm, but i've no found anything in the posting related.
    My code is
        try.
          cl_bcs_convert=>string_to_solix(
          exporting
          iv_string   = lv_string
          iv_codepage = '4103'
          iv_add_bom  = 'X'
          importing
          et_solix  = binary_conten
          ev_size   = size ).
        catch cx_bcs.
          message e445(so).
      endtry.
    * Create document
      document = cl_document_bcs=>create_document(
                      i_type    = 'RAW'
                      i_text    = text
                      i_length  = '125'
                      i_subject = lv_subject ).
    * Attachment
      call method document->add_attachment
        exporting
          i_attachment_type    = 'xls'
          i_attachment_subject = lv_filename
          i_attachment_size    = size
          i_att_content_hex    = binary_conten.
    *      i_att_content_text   = text.
      call method send_request->set_document( document ).
    How can i ZIP the XLS document?
    I use   cl_bcs_convert=>string_to_solix(
    and not CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
    Many Thanks in advance

  • Avoid procedure or function calls between a SQL operation and an implicit cursor test

    when i analyse this code with code expert

    atpidgeon wrote:
    when i analyse this code with code expert
                            UPDATE P_PM_CONTROL_COUNT
                            SET AVAIL_SEG = AVAIL_SEG -1,
                                ALLOCATION = ALLOCATION -1
                            WHERE PM_UNIT_TYPE_ID = vrectab(1)
                            AND USAGE_DATE = vrectab(2)
                            AND SEGMENT_CODE = vrectab(5)
                            AND ALLOCATION - UNITS_RESERVED > 0;
                            IF sql%rowcount = 0 then --Added block and exception to prevent invetory going negative when placing multi units in same unit type out of service.
                                vErrMsg := 'Could not process your out of service request because your selection for unit '|| vrectab(3) || ' at ' || pvPropertyId || ' for ' || vrectab(2) || ' would cause segment ' || vrectab(5) || ' to be over allocated.';
                                RAISE SegOverAllocated;
                            END IF;
    i get "Avoid procedure or function calls between a SQL operation and an implicit cursor test.",as far has i know
    iff you're doing a sql%rowcount    after an update.. trying to see how many rows were updated...  you dont want procedure or function calls between the update and the sql% line
    correct me if im wrong and how would i fix it?or maybe i shouldnt
    You correct it by NOT executing function calls as part of the UPDATE statement.
    1. Issue the function calls BEFORE the update statement
    2. save the function results into variables
    3. use those variables in the UPDATE statement.
    v_rectab1 := vrectab(1);
    v_rectab2 := vrectab(21);
    v_rectab5 := vrectab(5);
    UPDATE P_PM_CONTROL_COUNT 
                            SET AVAIL_SEG = AVAIL_SEG -1,
                                ALLOCATION = ALLOCATION -1
                            WHERE PM_UNIT_TYPE_ID = v_rectab1
                            AND USAGE_DATE = v_rectab2
                            AND SEGMENT_CODE = v_rectab5
                            AND ALLOCATION - UNITS_RESERVED > 0;

  • Why Service Call and why not call Function module Directly in WD ABAP

    Hi,
    I have created a Webdynpro applications and the logic requires calling avrious Function modules.
    Do I need to create Service Call for each Function module or call them directly.
    It would be great if you can suggest me under what cases I need to opt for Service call
    For example, if I use 'RP_CALC_DATE_IN_INTERVAL', do I need to use Service call or call function module directly.
    Note: I have searched forums but could not get the correct answer which I want
    Thanks!

    The Service Call is really meant to be a wizard/time saver.  It has the advantage that it can generate matching context nodes/attributes for the interface of the Function Module you are calling. However everything that the service call does can also be created by hand.
    Personally I'm not a fan of what the service call wizard generates.  Its good as a time saver or for beginners, but I find I prefer to touch up the code it generates anyway. I much prefer to create a nice reusable model class with its own unit test and then consume this model class (with the service call wizard) from WD.  This model class might contain one or more function module calls depending upon what logic I need to access.

  • IP - Is it possible to call exit planning function from ABAP Report..

    Hi All,
    Greetings.
    Is it possible to call exit planning function from ABAP Report (t-code SE38) ? Or I mean is not limited only to be called from ABAP Report, perhaps from BSP / Web-Dynpro / Function Module.
    If somebody here has been doing it before, I'm keen to ask to kindly share it. Particularly how to call and transfer data to that exit function.
    Or if somebody has done in BPS, appreciate if it can be shared too .
    Thanks a lot and have a good day,
    Best regards,
    Daniel N.

    Hi.
    You can achive this as suggested by Mattias in your previous post.
    Lets say you have next data structure:
    CostCenter | Amount | PercentForDistibution |
    Create input ready query in this format. Restrict cost center by variable type range.
    Create WAD with analysis item.
    When you run web page you enter range of cost centers (lets say you will enter 101004 to 101010).
    I assume you have data only for 101004 in your cube (lets say 1000).
    You will see only one record in your webpage.
    CostCenter | Amount | PercentForDistibution |
    101004       | 1000     | NOTHING
    When you create WAD in analysis item properties set "NUMBER_OF_NEW_LINES" to lets say 1 (so in WAD you will see always one blank line for entering new data).
    Just add 6 new records:
    CostCenter | Amount   | PercentForDistibution |
    101005       | NOTHING| 10
    101006       | NOTHING| 30
    101007       | NOTHING| 20
    101008       | NOTHING| 25
    101009       | NOTHING| 5
    101010       | NOTHING| 10
    Then run planning FOX function like this:
    FOREACH Z_COST_CENTER.
    IF {Amount, Z_COST_CENTER} <> 0
    Z_AMNT_TO_DISTRIBUTE = {Amount, Z_COST_CENTER}.
    ENDIF.
    ENDFOR.
    FOREACH Z_COST_CENTER.
    IF {PercentForDistibution Z_COST_CENTER} <> 0.
    {Amount, Z_COST_CENTER} = Z_AMNT_TO_DISTRIBUTE * {PercentForDistibution Z_COST_CENTER}.
    ENDIF.
    ENDFOR.
    It is not perfect FOX, but as an idead, it should work.
    Regards.

  • Recursive call of function module 'CRM_ORDER_MAINTAIN'

    Hi together,
    I have got the follwoing problem.
    We have to implement a proof on a partner function regarding the role.
    I found the BADI IF_EX_COM_PARTNER_BADI~COM_PARTNER_CHECK
    I implement the the follwoing coding:
      IF is_partner_wrk-partner_fct = 'ZADI0012'.
        SELECT SINGLE * INTO  ls_but100
                        FROM  but100
                        WHERE partner = is_partner_wrk-external_partner_number
                        AND   rltyp   = 'BUP004'.
        IF sy-subrc = 4.
          MESSAGE e003(crm_ic_partner) WITH is_partner_wrk-external_partner_number.
        ENDIF.
      ENDIF.
    when I enter a partner with a wrong role, I got the message I have implemented. Afterwards I type in a partner with the correct role I got a short dump.
    Recursive call of function module 'CRM_ORDER_MAINTAIN'
    Has anybody an idea how to solve this issue?
    Thanks and best regards,
    Sylvia

    Hi scharfen,
    We got the similar requirement what you implemented.I implemented the below code but the error message is coming 3 times.
    I have got the follwoing problem.
    We have to implement a check on a partner function regarding the role.
    I found the BADI IF_EX_COM_PARTNER_BADI~COM_PARTNER_CHECK
    I implemented the the follwoing coding:
    method IF_EX_COM_PARTNER_BADI~COM_PARTNER_CHECK .
    DATA: lw_but100 TYPE but100,
    lw_but000 TYPE but000,
    lw_msgno TYPE bal_s_idno,
    lt_msgno TYPE bal_r_idno,
    l_partner TYPE symsgv,
    lw_low TYPE balmsgidno.
    IF is_partner_wrk-PARTNER_FCT = '00000009'.
    SELECT SINGLE * INTO lw_but000
    FROM BUT000
    WHERE partner = is_partner_wrk-external_partner_number
    AND TYPE = '2'.
    IF sy-subrc EQ 0.
    SELECT SINGLE * INTO lw_but100
    FROM but100
    WHERE partner = is_partner_wrk-external_partner_number
    AND rltyp = 'BUP004'.
    IF sy-subrc = 0.
    REFRESH lt_msgno.
    lw_msgno-sign = 'I'.
    lw_msgno-option = 'EQ'.
    lw_low-msgid = '/DS1/A'.
    lw_low-msgno = '139'.
    lw_msgno-low = lw_low.
    APPEND lw_msgno TO lt_msgno.
    CALL FUNCTION 'CRM_MESSAGES_DELETE'
    EXPORTING
    IT_R_MSGIDNO = lt_msgno
    iv_ref_object = is_partner_wrk-guid.
    l_partner = is_partner_wrk-external_partner_number.
    CALL FUNCTION 'COM_PARTNER_MESSAGE_COLLECT_OW'
    EXPORTING
    is_partner_control = is_partner_control
    iv_msgno = '139'
    iv_msgid = '/DS1/A'
    iv_msgty = 'E'
    iv_msgv1 = l_partner.
    ELSE.
    REFRESH lt_msgno.
    lw_msgno-sign = 'I'.
    lw_msgno-option = 'EQ'.
    lw_low-msgid = '/DS1/A'.
    lw_low-msgno = '139'.
    lw_msgno-low = lw_low.
    APPEND lw_msgno TO lt_msgno.
    CALL FUNCTION 'CRM_MESSAGES_DELETE'
    EXPORTING
    IT_R_MSGIDNO = lt_msgno
    iv_ref_object = is_partner_wrk-guid.
    ENDIF.
    ENDIF.
    ENDIF.
    endmethod.
    when I enter a partner with a wrong role, I got the message I have implemented. But the message is appearing 3 times in the errorlog. Can anyone please let me know the reason for this and solution to resolve this.
    Regards,
    Swetha

  • Create EJB and call it from ABAP

    Hi all,
    I have written a stand-alone-Java application, which should be converted into a web application, which has no gui.
    This application should be triggered by a abap-program.
    Following questions, do I have to write a servlet and a ejb or is it possible to call the ejb directly from the abap-program?
    What do I have to do make an outbound call from abap?
    Thank you for your support.
    Kind regards, Patrick.

    Hi.
    You can call the EJB directly from Abap. XI uses this functionality extensively.
    Follow these steps:
    1)  Deply the bean on the java stack.
    2)  You now need to setup a RFC destination in the JCO RFC Provider service in the j2ee visual adminstrator. Point the Repository section to the application server you want to run the Abap reort on. When you do this the j2ee engine will register itself as a possible RFC destination on this application server.You can choose your own program id...
    3) You then need to goto tran sm59 on the app server where the Abap report is going to run and setup a connection of tcp type to the j2ee machine. Specify the same program id you used in step in the technical settings.
    4) Then just use the bean name when you do the rfc call in the abap report.
    Hope this helps if U have not done it yet.

  • Drag And Drop operations do not call custom IRM Protector

    We are developing our own custom IRM Protector, 
    So far we have successfuly integrated our IRM Protector into Sharepoint, and download operations and upload operations do protect and unprotect documents. Also move operations between libraries, through Send To ribbon action, call HrProtect and HrUnprotect
    methods as needed. 
    However, in our test environments, when using drag and drop operations between Libraries or folders, the IRM Protector is not being called at all. We have tried to update our test environments to the latest Cumulative Update, without success. Is there any
    known bug around the drag and drop functionality? 
    If true, Drag and Drop suposes a great security threat, and we cannot deliver our protection product to our customers, as it would mean document protections could be bypassed by a simple sharepoint operation.
    Thanks,

    We are developing our own custom IRM Protector, 
    So far we have successfuly integrated our IRM Protector into Sharepoint, and download operations and upload operations do protect and unprotect documents. Also move operations between libraries, through Send To ribbon action, call HrProtect and HrUnprotect
    methods as needed. 
    However, in our test environments, when using drag and drop operations between Libraries or folders, the IRM Protector is not being called at all. We have tried to update our test environments to the latest Cumulative Update, without success. Is there any
    known bug around the drag and drop functionality? 
    If true, Drag and Drop suposes a great security threat, and we cannot deliver our protection product to our customers, as it would mean document protections could be bypassed by a simple sharepoint operation.
    Thanks,

  • ABAP Dump when calling Function Module Starting New Task

    Hi all. I have a tricky situation now, I am doing a POC on parallel processing.
    I am getting an ABAP dump on the following Call Function line which is in class lcl_steer_114numc (See below for full program):
    METHOD start.
        CALL FUNCTION 'Z_ZZCLS_STEER_114NUMC'
          STARTING NEW TASK me->id
          CALLING me->finish ON END OF TASK.
      ENDMETHOD.                    "start
    However I get the following ABAP dump:
    Short text
        Statement "CALL FUNCTION .. DESTINATION/STARTING NEW TASK/IN BACKGROUND TASK"
    The function module only contains a wait statement to simulate parallel processing. It is strange that it dumps here, because when I change the FM call to another call that has been triggered successfully from other classes, it still produces the same ABAP dump.
    The background of the Proof Of Concept is to see if I can get an event to trigger the next process that depends on the outcome of the previous process. Parallel processes are run in the start methods by calling RFC.
    <Garbled code removed>
    Moderator Message: Please post relevant portions of the code only.
    Edited by: Suhas Saha on Jul 17, 2011 1:17 PM

    Well, the thing is I did manage to run 3 other Function Modules asynchronously succeesfully prior to that function call, with the same exact function call syntax. Further more, I have tried editing it with your suggestion but I get the exact same dump.
    The complete function group can be downloaded here (slinkee file):
    https://docs.google.com/leaf?id=0B3sua1Bw4XK4ZmFhNzcwMTgtYzQ0Mi00NzQ4LTg5YTMtNDNlNWUxYTM2NTg3&hl=en_US
    The complete program can be downloaded here (slinkee file):
    https://docs.google.com/leaf?id=0B3sua1Bw4XK4YWJmNjU3ODYtODRmMy00Nzg2LThkNTUtZjNkNDRhZGQ3MTUw&hl=en_US
    The complete ST22 dump can be found here:
    https://docs.google.com/leaf?id=0B3sua1Bw4XK4ZDU1YmFkZDAtOTU5MS00ZTgwLWFlZTktNWZhMDUxMzJlZWNl&hl=en_US
    Basically I ST22 gives me the following:
    Runtime Errors         RPERF_ILLEGAL_STATEMENT
    Date and Time          17.07.2011 05:29:54
    |Short text                                                                                |
    |    Statement "CALL FUNCTION .. DESTINATION/STARTING NEW TASK/IN BACKGROUND TASK"                 |
    |What happened?                                                                                |
    |    Error in the ABAP Application Program                                                         |
    |                                                                                |
    |    The current ABAP program "Z_ZZB1_CLOSE_PERIOD_TEST2" had to be terminated                     |
    |     because it has                                                                               |
    |    come across a statement that unfortunately cannot be executed.                                |
    And it explains it here (but is not helpful / relevant at all) as I ran the program from SE38.
    |Error analysis                                                                                |
    |    There is probably an error in the program                                                     |
    |    "Z_ZZB1_CLOSE_PERIOD_TEST2".                                                                  |
    |    The program was probably called in a conversion exit                                          |
    |    or in a field exit. These are implemented by                                                  |
    |    function modules called CONVERSION_EXIT_xxxxx_INPUT/OUTPUT or                                 |
    |    USER_EXIT_xxxxx_INPUT.                                                                        |
    |    Conversion exits are triggered during screen field transports or                              |
    |    WRITE statements, field exits during field transports from the                                |
    |    screen to the ABAP/4 program.                                                                 |
    |    In this connection, the following ABAP/4 statements are not allowed:                          |
    |                                                                                |
    I hope you try to download the slinkee files and you will notice the call function I performed was no different than the other call function RFC calls that really are working.

  • JCo Outbound( calling Java Function from ABAP )

    HI,
    I want to call a JAVA function from ABAP.I have installed the JCo toolkit and included the sapjco.jar file in the classpath of my system.
    When i execute the program(Example5.java,provided with sapjco.zip) from the command prompt,it is working fine,the server listens to the calls made from ABAP via RFC destination.
    But if i copy the same program in NWDS in a JAVA project,to run it from there as JAVA application,after including the sapjco.jar file in the project JAVA build path,i get the following error,marked by a red cross ,at the head of the program,even before i run it.
    <b>This compilation unit indirectly references the missing type com.sap.jdsr.writer.DsrIPassport (typically some required class file is referencing a type outside the classpath)</b>
    What changes do i need to make,to run it from NWDS?
    I tried to include the sapjcorfc.dll file along with the sapjco.jar in the java build path,but it doesn't help.
    Please tell how to solve this issue?
    Regards,
    Siddhartha

    hello sid,
    which jco version are you using?
    are you using the same jco lib when running in command
    line and in nwds?
    if you are, try checking the order of the your classpath.
    your jco lib (which you are using in command line) should
    come first in order prior to the default libraries in your project.
    regards
    jo

  • Call a Java Function From Abap

    Hi, I need to call a java function from ABAP,  I have a WAS 640 to deploy the module.
    I have found this tutorial...
    [ABAP calls Java via RFC|/people/thorsten.franz3/blog/2008/11/21/abap-calls-java-via-rfc-1-introduction]
    The problem is that it uses a newer version of WAS and it implements EJB 3.0 wich only works on Java 5, but my WAS has java 1.4.2.
    Anyone knows how to adapt this Blog to a WAS 640 version ?
    Or Perhaps there is another way of doing this, maybe publishing my function as a web service.
    Regards.
    Mariano.

    Why don't you expose your Java functionality as a Web Service and consume it in ABAP program. That should be much easier and the web service can be used in other places as well.
    Best regards,
    Ritesh Chopra

Maybe you are looking for

  • Crystal Reports 8.5: Report with Subreport: Nearly empty pages?

    Post Author: alois2805 CA Forum: General Hallo! I am using Crystal Reports 8.5. I have created a report with a subreport. My problem: When I print the report, there is always a large empty space after the subreport entries? Can anybody help me? Alois

  • Down Payment Request Percentage affects tax

    Hi Experts,     I have an issue to be cleared in A/P Down Payment Invoice. Scenario: Purchase Order has a certain tax amount in addition to the total value. I try to add a A/P Down Payment invoice for this order. When the DPM is changed to a particul

  • Windows Media Player for mac

    I just downloaded it and it has an icon on my desktop that says Windows Media.sitx. When I click on it it says : There is no default application specified to open the document windows media.sitx

  • Best package to suit/ Taking payments on the chin.

    Hiya, I'm on option 1 which I believe is the 10gb limit, Online is mainly used up on Facebook (The missus) Xbox (Me) with some use for watching youtube, iplayer etc. None of this is excessive use but just recently, my past 2 bills I've been over by 9

  • COMPLICATED FORM -VS- MANY FORMS

    Dear Friends, in big projects, which strategy we should use. wether we should make single form and do multiple task in it which may cause the form to be more complicated. Or we should make multiple forms with single task which will make the forms sim