Help in interval function

Dear Engineers
i run this code and it's work .when i replace (interval '30' minute) to (interval C minute) error show i need the interval accept from variable .if there are another function i can add minute or second to a time plz let me know .
declare
m timestamp;
n timestamp;
b timestamp;
c varchar2(10);
begin
m:=to_date('8:30:00','hh24:mi:ss');
n:=to_date('30:00','mi:ss'); -- 30 second will add to m
c:= extract ( minute from n);
b:=m+ interval '30' minute; -- here is the problem i want to replace '30' to variable c but error show when i replace it
dbms_output.put_line(b);
end;
Beast Regards
Michael

Hi, Michael,
Yes, there's a function: NUMTODSINTERVAL
b := m + NUMTODSINTERVAL (c, 'minute'); The first argument to NUMTODSINTERVAL is supposed to be a NUMBER, but if you use a VARCHAR2, it will be implicitly converted to a NUMBER. It's up to you to ensure that the string can be converted.
By the way,
n:=to_date('30:00','mi:ss'); -- 30 second will add to m sets n to 12:30 am (that's 30 minutes, not seconds) on the 1st day of the current month, e.g. 01-Jun-2010 00:30:00.000000.
n is a TIMESTAMP, so it will have a year, month and day.

Similar Messages

  • To upload a data into SAP Table with the help of RFC function in BODS

    Hi,
    Please provide me step-by-step solution to upload data into any SAP table with the help of RFC function in Data Services.
    I have created RFC function that upload data into SAP table. RFC Function contains one table that has same structure as my database table.
    In the data services how can i filled the table of RFC function, i am using this function in query transform of data services but it gives me error.
    I am also follow link http://wiki.sdn.sap.com/wiki/display/BOBJ/BusinessObjectsDataServicesTipsand+Tricks
    but it did not help me.
    Thanks,
    Abhishek

    Hi Abhishek,
    Did you import the function module in the SAP datastore first? When you open the SAP datastore, the function should be listed in the 'functions' section. If not, import it. Make sure your function is remote executable.
    Once the function is there, you can use it in a transformation. In 'Schema Out' right-click on 'Query' (top level) and choose 'New Function Call'. You can then select a datastore and a function in the datastore. The wizard will show you which output parameters are available. I believe you have to add at least one and can select as many as you like.
    After confirming your selection the function and the output parameters appear in Schema Out. You can then right-click on the function and choose 'Modify function call'. A popup will appear where you can specify the input parameters.
    I hope this helps.
    Jan.

  • Help with stored function

    Hi...I was wondering if I could get help with this function. How do i write a function to return hours between a begin date and an end date for an employee. Thanks so much

    EdStevens wrote:
    AlexeyDev wrote:
    sb92075 wrote:
    select (date2-date1)*24 from dual;not as above but as below
    select (date2-date1)/24 from dual;date2-date1 is amount of days. Divide it by 24 and what? if you multiply it on 24 you will have a chance to know how many hours between these two dates. :-)Don't forget that a DATE type also includes a time component.I suppose it doesn't matter if you did a difference between two dates. The result is always number of days.

  • How to call a Search help in a function module?

    Hi Experts,
    I am a novice to ABAP, I am working on search helps. My requirement is to call a search help in a function module.
    Can anyone  please throw some light on this.
    Any inputs will be helpful.
    Thanks,
    Amita

    yes you can do that..
    in side the source code ..
    write the select statement according to requirement and pass the internal table to below function moduel and return field to yor help field..
    call the below fm inside the function module..
    'POPUP_WITH_TABLE_DISPLAY' or 'REUSE_ALV_POPUP_TO_SELECT'
    see the sample code...
    FUNCTION Z_MFG_PLANTS_F4 .
    "*"Local Interface:
    "  IMPORTING
    "     REFERENCE(W_WERKS) TYPE WERKS OPTIONAL
    "  IMPORTING
    "      REFERENCE(W_MATNR)    TYPE MANTR OPTIONAL
    Alv popup display
    DATA : gc_selfield     TYPE slis_selfield,
           gt_fieldcat_drd TYPE slis_t_fieldcat_alv WITH HEADER LINE.
    p_werks = W_WERKS.
    data : begin of t_marc occurs 0,
                werks type werks,
                matnr type matnr,
            end of t_marc
    select matnr werks from marc into table t_marc where werks = p_werks.
      IF t_disp[] IS NOT INITIAL.
      gt_fieldcat_drd-seltext_m = 'Material'.
      gt_fieldcat_drd-fieldname = 'MATNR'.
      APPEND gt_fieldcat_drd.
      CLEAR : gt_fieldcat_drd.
      gt_fieldcat_drd-seltext_m = 'WERKS'.
      gt_fieldcat_drd-fieldname = ''WERKS'.
      APPEND gt_fieldcat_drd.
      CLEAR : gt_fieldcat_drd.
    Allow the user to select the required plant
      CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
        EXPORTING
          i_title               = 'Material Selection for Plant'
          i_selection           = 'X'
          i_screen_start_column = 5
          i_screen_start_line   = 5
          i_screen_end_column   = 70
          i_screen_end_line     = 20
          i_tabname             = 'T_MARC'
          it_fieldcat           = gt_fieldcat_drd[]
        IMPORTING
          es_selfield           = gc_selfield
        TABLES
          t_outtab              = t_MARC
        EXCEPTIONS
          program_error         = 1
          OTHERS                = 2.
      IF sy-subrc  0.
      ENDIF.
      READ TABLE t_MARC INDEX gc_selfield-tabindex.
      IF sy-subrc = 0.
            w_matnr = t_matnr-matnr.
      ENDIF.
    ENDIF.
    ENDFUNCTION.
    rgrds,
    Shweta

  • Requried Help in creating function

    Hi All,
    i need one help in creating function my input parameters for that function will be 1 or 1,2 or 1,2,3
    my output should be
    If i pass as 1 as input parameter it should return 1
    If i pass 1,2 as input parameter it should return 1,2 in different rows
    Similarly If i pass 1,2,3 as input parameter it should return 1,2,3 in different rows.
    Can any one please help me in creating this function.
    Thanks in Advance.
    Edited by: p78 on Jan 16, 2012 3:31 AM
    Edited by: p78 on Jan 16, 2012 3:31 AM

    Hi,
    that will be something like this. First you need a type for returning the rows (use other datatype for example number if you need so):
    CREATE OR REPLACE TYPE t_list AS TABLE OF VARCHAR2 (4000);
    /Then the function will be a pipelined function:
    CREATE OR REPLACE FUNCTION in_list (p_list  IN  VARCHAR2)
      RETURN t_list PIPELINED
    AS
      l_text  VARCHAR2(32767) := p_list || ',';
      l_idx   NUMBER;
    BEGIN
      LOOP
        l_idx := INSTR(l_text, ',');
        EXIT WHEN NVL(l_idx, 0) = 0;
        PIPE ROW (TRIM(SUBSTR(l_text, 1, l_idx - 1)));
        l_text := SUBSTR(l_text, l_idx + 1);
      END LOOP;
      RETURN;
    END;
    /now you can query (or whatever the needs are):
    select * from table(in_list('aa','bb'));Herald ten Dam
    http://htendam.wordpress.com

  • Java.lang.Error: IP Helper Library GetIfTable function failed

    Some of our users are sometimes getting the following exception:
    java.lang.Error: IP Helper Library GetIfTable function failed
    java.net.NetworkInterface.getAll(Native Method)
    java.net.NetworkInterface.getNetworkInterfaces(Unknown Source)
    Does anyone know why this happens and what can be done against it?
    Is this a bug?

    The operating system is     Windows XP, Java is version 1.6.0_03 Sun Microsystems Inc.
    Today, I got another error report containing this error. They all seem to come from the same user. Given that the user is still using our product, I guess it doesn't happen every time. :) The error actually happens in a third party library that uses JNI, so it could also be possible that this library messes up something. Given that the error happens rather rarely and we haven't got much data, I guess it isn't worth investigating this further at the moment.

  • Download helper ceased to function on youtube today 8/8/2014

    The add on download helper ceased to function on you tube - was working ok then stopped coloured icon became greyed out.

    As recommended:
    Uploaded and reinstalled Download Helper.
    Uploaded and reinstalled updated Flash Player
    Restarted computer and
    still not working

  • Help on custom function...

    Hi all
    I'm having a problem with this custom function/report posted on TechNet while back for ConfigMgr 2007
    http://social.technet.microsoft.com/wiki/contents/articles/7870.sccm-2007-create-report-of-upcoming-maintenance-windows-by-client.aspx
    I've made the needed changes according to this blog post:
    https://sccmfaq.wordpress.com/2013/08/22/sccm-2012-show-next-effective-maintenance-window/
    ..but when using maintenance windows that occurs for example 1st tuesday of every 1 months, the function returns the date week ahead. For example now (on 28th of Feb) next maintenance window should be on Tuesday March 3rd, but instead the report is showing
    Tuesday March 10th.
    Any help on modifying the function would be appreciated, I saw that there comments on the original post about the recurrence type 4 (monthly by weekday as noted here https://msdn.microsoft.com/en-us/library/cc143300.aspx) not working correctly in the function.
    It seems that the function now returns the weekday of first full week of the month instead of the correct day.
    The function is this:
    CREATE FUNCTION [dbo].[SCCM_GetNextServiceWindow](@ScheduleToken AS CHAR(16), @RecurrenceType AS INT) RETURNS @NextServiceWindow TABLE (ScheduleToken CHAR(16), RecurrenceType INT, NextServiceWindow DATETIME, Duration INT, IsGMTTime BIT) AS BEGIN
    --1 Occurs on 1/1/2012 12:00 AM 00011A8500080000
    --2 Occurs every 3 day(s) effective 1/1/2012 8:00 PM 02811A8040100018
    --3 Occurs every 3 week(s) on Saturday effective 1/1/2012 8:00 PM 02811A80401F6000
    --3 Occurs every 1 week(s) on Saturday effective 1/1/2012 8:00 PM 02811A80401F2000
    --5 Occurs day 2 of every 2 month(s) effective 1/1/2012 8:00 PM 02811A8040288800
    --5 Occurs day 31 of every 1 month(s) effective 1/1/2012 8:00 PM 02811A80402FC400
    --5 Occurs the last day of every 3 months effective 1/1/2012 8:00 PM 02811A8040280C00
    --5 Occurs the last day of every 1 months effective 1/1/2012 8:00 PM 02811A8040280400
    --4 Occurs the Third Monday of every 1 month(s) effective 1/1/2012 4:00 AM 00811A9E08221600
    --4 Occurs the Last Wednesday of every 1 month(s) effective 1/1/2012 8:00 PM 02811A8040241000
    --4 Occurs the Fourth Wednesday of every 1 month(s) effective 1/1/2012 8:00 PM 02811A8040241800
    --4 Occurs the Last Monday of every 1 month(s) effective 1/1/2012 8:00 PM 02811A8040221000
    --3 Occurs every 1 week(s) on Monday effective 1/1/2012 4:00 AM 00811A9E081A2000
    -- http://msdn.microsoft.com/en-us/library/cc143300.aspx [This link is external to TechNet Wiki. It will open in a new window.]
    DECLARE @RecurrenceType_NONE INT
    , @RecurrenceType_DAILY INT
    , @RecurrenceType_WEEKLY INT
    , @RecurrenceType_MONTHLYBYWEEKDAY INT
    , @RecurrenceType_MONTHLYBYDATE INT
    SELECT @RecurrenceType_NONE = 1
    , @RecurrenceType_DAILY = 2
    , @RecurrenceType_WEEKLY = 3
    , @RecurrenceType_MONTHLYBYWEEKDAY = 4
    , @RecurrenceType_MONTHLYBYDATE = 5
    -- http://msdn.microsoft.com/en-us/library/cc143505.aspx [This link is external to TechNet Wiki. It will open in a new window.]
    --DECLARE @RecurrenceType INT; SET @RecurrenceType = @RecurrenceType_WEEKLY
    --DECLARE @ScheduleToken CHAR(16); SET @ScheduleToken = '00811A9E081A2000'
    DECLARE @ScheduleStartTime INT; SET @ScheduleStartTime = CAST(CONVERT(BINARY(4), LEFT(@ScheduleToken, 8), 2) AS INT)
    DECLARE @ScheduleDuration INT; SET @ScheduleDuration = CAST(CONVERT(BINARY(4), RIGHT(@ScheduleToken, 8), 2) AS INT)
    -- Duration is in minutes
    DECLARE @Duration INT; SET @Duration = @ScheduleStartTime % POWER(2, 6)
    -- Calculate the start time
    DECLARE @StartTime DATETIME; SET @StartTime = CONVERT(DATETIME, '01/01/1970 00:00:00')
    SET @StartTime = DATEADD(YEAR, (@ScheduleStartTime / POWER(2,6)) % POWER(2, 6), @StartTime)
    SET @StartTime = DATEADD(MONTH, ((@ScheduleStartTime / POWER(2,12)) % POWER(2, 4)) - 1, @StartTime)
    SET @StartTime = DATEADD(DAY, ((@ScheduleStartTime / POWER(2,16)) % POWER(2, 5)) - 1, @StartTime)
    SET @StartTime = DATEADD(HOUR, (@ScheduleStartTime / POWER(2,21)) % POWER(2, 5), @StartTime)
    SET @StartTime = DATEADD(MINUTE, (@ScheduleStartTime / POWER(2,26)) % POWER(2, 5), @StartTime)
    -- Determinte UTC and Flags
    DECLARE @IsGMTTime BIT; SET @IsGMTTime = CAST(@ScheduleDuration % POWER(2, 1) AS BIT)
    DECLARE @Flags INT; SET @Flags = (@ScheduleDuration / POWER(2,19)) % POWER(2, 3)
    -- Calculate the total duration in minutes
    SET @Duration = @Duration + ((@ScheduleDuration / POWER(2,22)) % POWER(2, 5)) * 24 * 60 -- DAYS
    SET @Duration = @Duration + ((@ScheduleDuration / POWER(2,27)) % POWER(2, 5)) * 60 -- HOURS
    DECLARE @Now DATETIME
    IF @IsGMTTime = 1 BEGIN
    SET @Now = GETUTCDATE()
    END ELSE BEGIN
    SET @Now = GETDATE()
    END
    DECLARE @NextMaintenanceWindow DATETIME
    IF @RecurrenceType = @RecurrenceType_NONE BEGIN
    IF DATEADD(MINUTE, @Duration, @StartTime) > @Now BEGIN
    SET @NextMaintenanceWindow = @StartTime
    END
    END ELSE IF @RecurrenceType = @RecurrenceType_DAILY BEGIN
    IF DATEADD(MINUTE, @Duration, @StartTime) > @Now BEGIN
    SET @NextMaintenanceWindow = @StartTime
    END ELSE BEGIN
    -- Calculate the daily interval in minutes
    DECLARE @DailyInterval INT
    SET @DailyInterval = ((@ScheduleDuration / POWER(2,3)) % POWER(2, 5)) * 24 * 60
    SET @DailyInterval = @DailyInterval + ((@ScheduleDuration / POWER(2,8)) % POWER(2, 5)) * 60
    SET @DailyInterval = @DailyInterval + (@ScheduleDuration / POWER(2,13)) % POWER(2, 6)
    -- Calculate the total number of completed intervals
    DECLARE @DailyNumberOfCompletedIntervals INT; SET @DailyNumberOfCompletedIntervals = ROUND(CAST(DATEDIFF(MINUTE, @StartTime, @Now) AS DECIMAL) / @DailyInterval, 0, 0)
    -- Calculate the next interval
    DECLARE @DailyNextInterval DATETIME; SET @DailyNextInterval = DATEADD(MINUTE, @DailyNumberOfCompletedIntervals * @DailyInterval, @StartTime)
    -- Recalc the next interval if the next interval plus the expected duration is in the past
    IF DATEADD(MINUTE, @Duration, @DailyNextInterval) < @Now BEGIN
    SET @DailyNextInterval = DATEADD(MINUTE, (@DailyNumberOfCompletedIntervals + 1) * @DailyInterval, @StartTime)
    END
    SET @NextMaintenanceWindow = @DailyNextInterval
    END
    END ELSE IF @RecurrenceType = @RecurrenceType_WEEKLY BEGIN
    DECLARE @WeeklyInterval INT; SET @WeeklyInterval = (@ScheduleDuration / POWER(2,13)) % POWER(2, 3)
    DECLARE @WeeklyDoW INT; SET @WeeklyDoW = (@ScheduleDuration / POWER(2,16)) % POWER(2, 3)
    -- Adjust the start time to match the next day of week that matches the interval
    DECLARE @WeeklyStartTime DATETIME; SET @WeeklyStartTime = DATEADD(DAY, (7 - DATEPART(WEEKDAY, @StartTime) + @WeeklyDoW % 7), @StartTime)
    IF DATEADD(MINUTE, @Duration, @WeeklyStartTime) > @Now BEGIN
    SET @NextMaintenanceWindow = @WeeklyStartTime
    END ELSE BEGIN
    -- Calculate the total number of completed intervals
    DECLARE @WeeklyNumberOfCompletedIntervals INT; SET @WeeklyNumberOfCompletedIntervals = ROUND(CAST(DATEDIFF(WEEK, @WeeklyStartTime, @Now) AS DECIMAL) / @WeeklyInterval, 0, 0)
    -- Calculate the next interval
    DECLARE @WeeklyNextInterval DATETIME; SET @WeeklyNextInterval = DATEADD(WEEK, @WeeklyNumberOfCompletedIntervals * @WeeklyInterval, @WeeklyStartTime)
    -- Recalc the next interval if the next interval plus the expected duration is in the past
    IF DATEADD(MINUTE, @Duration, @WeeklyNextInterval) < @Now BEGIN
    SET @WeeklyNextInterval = DATEADD(WEEK, (@WeeklyNumberOfCompletedIntervals + 1) * @WeeklyInterval, @WeeklyStartTime)
    END
    SET @NextMaintenanceWindow = @WeeklyNextInterval
    END
    END ELSE IF @RecurrenceType = @RecurrenceType_MONTHLYBYWEEKDAY BEGIN
    DECLARE @MonthlyBWWeek INT; SET @MonthlyBWWeek = (@ScheduleDuration / POWER(2,9)) % POWER(2, 3)
    DECLARE @MontlhyBWInterval INT; SET @MontlhyBWInterval = (@ScheduleDuration / POWER(2,12)) % POWER(2, 4)
    DECLARE @MonthlyBWDoW INT; SET @MonthlyBWDoW = (@ScheduleDuration / POWER(2,16)) % POWER(2, 3)
    -- Calculate the total number of completed intervals
    DECLARE @MonthlyBWNumberOfCompletedIntervals INT; SET @MonthlyBWNumberOfCompletedIntervals = ROUND(CAST(DATEDIFF(MONTH, @StartTime, @Now) AS DECIMAL) / @MontlhyBWInterval, 0, 0)
    IF @MonthlyBWWeek = 0 BEGIN
    -- Calculate the next interval
    DECLARE @MonthlyBWLDOMNextInterval DATETIME; SET @MonthlyBWLDOMNextInterval = DATEADD(MONTH, @MonthlyBWNumberOfCompletedIntervals * @MontlhyBWInterval, @StartTime)
    -- Calculate last day of month
    SET @MonthlyBWLDOMNextInterval = DATEADD(DAY, DATEDIFF(DAY, @MonthlyBWLDOMNextInterval, DATEADD(DAY, -1, DATEADD(M, DATEDIFF(MONTH, 0, @MonthlyBWLDOMNextInterval) + 1, 0))), @MonthlyBWLDOMNextInterval)
    -- Calculate the last day of the week for the month
    SET @MonthlyBWLDOMNextInterval = DATEADD(DAY, -(7 - DATEPART(WEEKDAY, @MonthlyBWLDOMNextInterval) + @MonthlyBWDoW % 7), @MonthlyBWLDOMNextInterval)
    IF DATEADD(MINUTE, @Duration, @MonthlyBWLDOMNextInterval) < @Now BEGIN
    -- Recalc for the next month interval
    SET @MonthlyBWLDOMNextInterval = DATEADD(MONTH, (@MonthlyBWNumberOfCompletedIntervals + 1) * @MontlhyBWInterval, @StartTime)
    -- Calculate last day of month
    SET @MonthlyBWLDOMNextInterval = DATEADD(DAY, DATEDIFF(DAY, @MonthlyBWLDOMNextInterval, DATEADD(DAY, -1, DATEADD(M, DATEDIFF(MONTH, 0, @MonthlyBWLDOMNextInterval) + 1, 0))), @MonthlyBWLDOMNextInterval)
    -- Calculate the last day of the week for the month
    SET @MonthlyBWLDOMNextInterval = DATEADD(DAY, -(7 - DATEPART(WEEKDAY, @MonthlyBWLDOMNextInterval) + @MonthlyBWDoW % 7), @MonthlyBWLDOMNextInterval)
    END
    SET @NextMaintenanceWindow = @MonthlyBWLDOMNextInterval
    END ELSE BEGIN
    -- Calculate the next interval
    DECLARE @MonthlyBWNextInterval DATETIME; SET @MonthlyBWNextInterval = DATEADD(MONTH, @MonthlyBWNumberOfCompletedIntervals * @MontlhyBWInterval, @StartTime)
    -- Set the date to the first day of the month
    SET @MonthlyBWNextInterval = DATEADD(DAY, -(DAY(@MonthlyBWNextInterval) - 1), @MonthlyBWNextInterval)
    -- Set the date to the first day of week in the month
    SET @MonthlyBWNextInterval = DATEADD(DAY, (7 - DATEPART(WEEKDAY, @MonthlyBWNextInterval) + @MonthlyBWDoW) % 7, @MonthlyBWNextInterval)
    -- Calculate date based on the week number to add
    SET @MonthlyBWNextInterval = DATEADD(WEEK, @MonthlyBWWeek-1, @MonthlyBWNextInterval)
    IF DATEADD(MINUTE, @Duration, @MonthlyBWNextInterval) < @Now BEGIN
    -- Recalc for the next month interval
    SET @MonthlyBWNextInterval = DATEADD(MONTH, (@MonthlyBWNumberOfCompletedIntervals + 1) * @MontlhyBWInterval, @StartTime)
    -- Set the date to the first day of the month
    SET @MonthlyBWNextInterval = DATEADD(DAY, -(DAY(@MonthlyBWNextInterval) - 1), @MonthlyBWNextInterval)
    -- Set the date to the first day of week in the month
    SET @MonthlyBWNextInterval = DATEADD(DAY, (7 - DATEPART(WEEKDAY, @MonthlyBWNextInterval) + @MonthlyBWDoW % 7), @MonthlyBWNextInterval)
    -- Calculate date based on the week number to add
    SET @MonthlyBWNextInterval = DATEADD(WEEK, @MonthlyBWWeek-1, @MonthlyBWNextInterval)
    END
    SET @NextMaintenanceWindow = @MonthlyBWNextInterval
    END
    END ELSE IF @RecurrenceType = @RecurrenceType_MONTHLYBYDATE BEGIN
    DECLARE @MontlhyBDInterval INT; SET @MontlhyBDInterval = (@ScheduleDuration / POWER(2,10)) % POWER(2, 4)
    DECLARE @MonthlyBDDoM INT; SET @MonthlyBDDoM = (@ScheduleDuration / POWER(2,14)) % POWER(2, 5)
    IF @MonthlyBDDoM = 0 BEGIN
    /* This is the last day of month logic */
    -- Calculate the total number of completed intervals
    DECLARE @MonthlyBDLDOMNumberOfCompletedIntervals INT; SET @MonthlyBDLDOMNumberOfCompletedIntervals = ROUND(CAST(DATEDIFF(MONTH, @StartTime, @Now) AS DECIMAL) / @MontlhyBDInterval, 0, 0)
    -- Calculate the next interval
    DECLARE @MonthlyBDLDOMNextInterval DATETIME; SET @MonthlyBDLDOMNextInterval = DATEADD(MONTH, @MonthlyBDLDOMNumberOfCompletedIntervals * @MontlhyBDInterval, @StartTime)
    -- Calculate last day of month
    SET @MonthlyBDLDOMNextInterval = DATEADD(DAY, DATEDIFF(DAY, @MonthlyBDLDOMNextInterval, DATEADD(DAY, -1, DATEADD(M, DATEDIFF(MONTH, 0, @MonthlyBDLDOMNextInterval) + 1, 0))), @MonthlyBDLDOMNextInterval)
    -- Recalc the next interval if the next interval plus the expected duration is in the past
    IF DATEADD(MINUTE, @Duration, @MonthlyBDLDOMNextInterval) < @Now BEGIN
    SET @MonthlyBDLDOMNextInterval = DATEADD(DAY, DATEDIFF(DAY, @MonthlyBDLDOMNextInterval, DATEADD(DAY, -1, DATEADD(M, DATEDIFF(MONTH, 0, DATEADD(MONTH, (@MonthlyBDLDOMNumberOfCompletedIntervals + 1) * @MontlhyBDInterval, @StartTime)) + 1, 0))), @MonthlyBDLDOMNextInterval)
    END
    SET @NextMaintenanceWindow = @MonthlyBDLDOMNextInterval
    END ELSE BEGIN
    -- Check to make sure we won't loop forever if more than 31 days some how ends up in the token
    IF @MonthlyBDDoM > 31 SET @MonthlyBDDoM = 31
    -- Adjust the start time to match the next day of month that matches the interval
    DECLARE @MonthlyBDStartTime DATETIME; SET @MonthlyBDStartTime = DATEADD(DAY, (31 - DATEPART(DAY, @StartTime) + @MonthlyBDDoM % 31), @StartTime)
    -- This loop is used multiple times to search for the next valid date that falls on the desired day of month
    WHILE(DATEPART(DAY, @MonthlyBDStartTime) <> @MonthlyBDDoM) BEGIN
    SET @MonthlyBDStartTime = DATEADD(DAY, (31 - DATEPART(DAY, @MonthlyBDStartTime) + @MonthlyBDDoM) % 31, @MonthlyBDStartTime)
    END
    IF DATEADD(MINUTE, @Duration, @MonthlyBDStartTime) > @Now BEGIN
    SET @NextMaintenanceWindow = @MonthlyBDStartTime
    END ELSE BEGIN
    -- Calculate the total number of completed intervals
    DECLARE @MonthlyBDNumberOfCompletedIntervals INT; SET @MonthlyBDNumberOfCompletedIntervals = ROUND(CAST(DATEDIFF(MONTH, @MonthlyBDStartTime, @Now) AS DECIMAL) / @MontlhyBDInterval, 0, 0)
    -- Calculate the next interval
    DECLARE @MonthlyBDNextInterval DATETIME; SET @MonthlyBDNextInterval = DATEADD(MONTH, @MonthlyBDNumberOfCompletedIntervals * @MontlhyBDInterval, @MonthlyBDStartTime)
    WHILE(DATEPART(DAY, @MonthlyBDNextInterval) <> @MonthlyBDDoM) BEGIN
    SET @MonthlyBDNextInterval = DATEADD(DAY, (31 - DATEPART(DAY, @MonthlyBDNextInterval) + @MonthlyBDDoM % 31), @MonthlyBDNextInterval)
    END
    -- Recalc the next interval if the next interval plus the expected duration is in the past
    IF DATEADD(MINUTE, @Duration, @MonthlyBDNextInterval) < @Now BEGIN
    SET @MonthlyBDNextInterval = DATEADD(MONTH, (@MonthlyBDNumberOfCompletedIntervals + 1) * @MontlhyBDInterval, @MonthlyBDNextInterval)
    WHILE(DATEPART(DAY, @MonthlyBDNextInterval) <> @MonthlyBDDoM) BEGIN
    SET @MonthlyBDNextInterval = DATEADD(DAY, (31 - DATEPART(DAY, @MonthlyBDNextInterval) + @MonthlyBDDoM % 31), @MonthlyBDNextInterval)
    END
    END
    SET @NextMaintenanceWindow = @MonthlyBDNextInterval
    END
    END
    END
    INSERT INTO @NextServiceWindow VALUES (@ScheduleToken, @RecurrenceType, @NextMaintenanceWindow, @Duration, @IsGMTTime)
    RETURN
    END
    Thanks in advance for any suggestions!

    What an ungodly amount of the code for the task!
    I tried
    SELECT * FROM SCCM_GetNextServiceWindow('00811A9E08221600', 4)
    Which is said mean "Occurs the Third Monday of every 1 month(s)" and it returned 2015-03-17. Which is a Tuesday. But it is the third Tuesday.
    Turns out that I have British settings on that instance, DATEFIRST is 1. If do SET DATEFIRST 7, I get 2015-03-23. Which is a Monday, but the wrong one.
    The current setting of DATEFIRST can be detected with @@DATEFIRST, and that would make the code even more complex.
    My gut reaction would be to start over and do it all in C#, where at least I don't have to bother about SET DATEFIRST.
    Or maybe first inspect that the ScheduleToken is correct. Maybe it is, but to me that is just an incomprehensible hex string.
    Erland Sommarskog, SQL Server MVP, [email protected]

  • Help in ABAP function module coding.

    Hi,
    i am having trouble coding the program where i have to select a number from the table and add one to it to create a new record back to the table.  example, i've select 1 from the table, i need the program to be able to return 2 and create a new record back into the table and the next time i generate the program, i will select 2 and create a 3 into the table. It needed to be a custom function module as i need to call it in another function module which would concatenate the generated number with some words..
    i'm very new to abap programing...so could anyone please provide a detailed on how i could code it...
    THANKS alot in advance!!!!

    Hi Lessy,
    i have done the same requirement where my sequence number will automatically get incremented by 1 as new record cames for update.as already discussed you have to cretae the numebr range and call the number range by function module 'Number_get_next'.
    PFB the code which will definitely help you.
    CALL FUNCTION 'NUMBER_GET_NEXT'
            EXPORTING
              NR_RANGE_NR                   = '01'  " specify this number this is
    *the same when you cretae numberrange  have specified.
              OBJECT                        = 'ZSEQNUM'    " This the number range
    *i have created
           IMPORTING
             NUMBER                         = wa_msg-seqnr
           EXCEPTIONS
             INTERVAL_NOT_FOUND            = 1
             NUMBER_RANGE_NOT_INTERN       = 2
             OBJECT_NOT_FOUND              = 3
             QUANTITY_IS_0                 = 4
             QUANTITY_IS_NOT_1             = 5
             INTERVAL_OVERFLOW             = 6
             BUFFER_OVERFLOW               = 7
             OTHERS                        = 8.
          modify lt_message FROM wa_msg TRANSPORTING seqnr.
    to cretete number range.
    goto transaction SNRO
    enter the name,short text, give the number length domain (char10 or what ever is your domain)
    click on number range and cretae interval.
    give the number , from number and to number.
    this number you have to give in FM also (i have given '01').
    hope this will help you.for any problem revert back
    thanks
    Tanmaya
    Code Formatted by: Alvaro Tejada Galindo on Jan 13, 2010 4:16 PM
    Edited by: Rob Burbank on Jan 13, 2010 5:20 PM

  • Help in setTimeout function

    I want to pass the argument in the function called in
    setTimeout function.
    Below is the code snippet.
    public function
    histogramDataPointClick(dataPointObj:Event):void
    var duration:Number = 5000;
    setTimeout(executeEvent(dataPointObj),duration);
    public function executeEvent(dataPointObj:Event ):void
    var index:int;
    var message:String;
    message="";
    selectedDataPoint1=dataPointObject.currentTarget.series;
    for(var i:int = 0; i<
    selectedDataPoint1[0].selectedIndices.length; i++)
    index=selectedDataPoint1[0].selectedIndices
    message = message+"
    "+protocolTrendData[index].valueOf().trialPhase;
    Alert.show("Selected Trial Phase"+message);
    dispatchEvent(new Event("histogramDataPointClick"));
    If I am trying to do that then I am facing error
    1067:Implicit coercion of a value of type void to an unrelated type
    Function.
    error 1067
    can anybody help me in that?
    Thanks

    try:
    setTimeout(executeEvent, duration, dataPointObject);
    setTimeout () function
    public function setTimeout(closure:Function, delay:Number,
    ... arguments):uint
    Runs a specified function after a specified delay (in
    milliseconds).
    Instead of using this method, consider creating a Timer
    object, with the specified interval, using 1 as the repeatCount
    parameter (which sets the timer to run only once).
    If you intend to use the clearTimeout() method to cancel the
    setTimeout() call, be sure to assign the setTimeout() call to a
    variable (which the clearTimeout() method will later reference)
    Parameters closure:Function — The name of the function
    to execute. Do not include quotation marks or parentheses, and do
    not specify parameters of the function to call. For example, use
    functionName, not functionName() or functionName(param).
    delay:Number — The delay, in milliseconds, until the
    function is executed.
    ... arguments — An optional list of arguments that are
    passed to the closure function.

  • Help on Decode function in Toplink

    Hi,
    I have a sql statement like this:
    select field1, field2 from table1 where upper(field1) like 'ADELPHI%'
    order by field1,
    DECODE(TO_CHAR(NVL(LENGTH(TRANSLATE(field1,'A1234567890','A')),0)),'0',LPAD(field1 ,50),field1)
    How would I converted this to toplink query?
    I appreciate any help you guys can extend to me.

    I just spent about a half hour writing a response here, and the damned forum timed out on me. #$^!@$#!^!@$%.
    Here is the summary:
    - Using TL Expressions and EJBQL are to allow Java developers who don't necessarily know SQL to write queries and to facilitate portability/maintainability of the apps. For REALLY gnarly queries, using TL Expressions or EJBQL won't buy you this. I.e., SQL is more expressive and easier for this kind of quer, so it's not easier to use, and frankly with the code needed to support it, it won't be easier to maintain or port... Bottom line, maybe SQL is the best option here?
    - If you want to experiment, search for TO_CHAR on this forum, and the decode function in the javadoc. You need to build the expressions in pieces and you can treat expressions as arguments to other expressions -- in other words, you can build an expression like builder.leftPad(50, builder.get("field1")) and use it as one of the key/values in the hashtable to the decode function (in theory).
    - Don

  • Help with Query function on EAI Siebel Adapter

    Can anyone help?
    I have a workflow that uses the Query method on EAI Siebel Adapter to search for a Contact in Siebel. The Root component is Contact and the Child component is Address.
    When I pass in a message that contains Contact data (i.e. LastName='Jones') and Address data (City='Perth') to query on, it returns all Contacts that match the Contact data, and for each of those Contacts if the address data matches it also returns the address.
    What I want it to do is only return those Contacts that match both the Contact data 'AND' the address data, not all of the Contacts that match the contact data.
    I hope this makes sense.
    I've also tried using the searchspec function too, but this does not do what I want it to do either.
    Hope you can help.
    Thanks,
    Carl
    Can a

    Hi,
    can you create a MVG in Contact which will refer to Business Address & then try to use searchspec argument. I hope it will work for you.

  • Need help with Math functions for text-based calculator!!!

    I have the calculator working but I am having trouble figuring out thow to do a square root function, nth factorial, absolute value, and Fibonacci. Basically i got the easy part done. Also I am using the case to do the funtions but I am not sure if there are symbols on the keyboard that are commonly used for these funtions so i just made some up. I am new to java and this is only my second assignment so any help would be appreciated. Thanks
    import java.util.*;
    import java.math.*;
    public class calculator
    static Scanner console=new Scanner(System.in);
    public static void main(String[]args)
    double num1=0,num2=0;
    double result=0;
    char expression;
    char operation;
    String Soperation;
    System.out.println("Enter ? for help or enter the operation in which to be processed");
    Soperation=console.next();
    operation = Soperation.charAt(0);
    switch(operation)
    case '+':
    System.out.println("Please the first number");
    num1=console.nextInt();
    System.out.println("Please enter the second number");
    num2=console.nextInt();
    result=num1+num2;
    break;
    case'-':
    System.out.println("Please the first number");
    num1=console.nextInt();
    System.out.println("Please enter the second number");
    num2=console.nextInt();
    result=num1-num2;
    break;
    case'*':
    System.out.println("Please the first number");
    num1=console.nextInt();
    System.out.println("Please enter the second number");
    num2=console.nextInt();
    result=num1*num2;
    break;
    case'/':
    System.out.println("Please the first number");
    num1=console.nextInt();
    System.out.println("Please enter the second number");
    num2=console.nextInt();
    if(num2==0)
    System.out.println("Cannot Divide by Zero");
    result=num1/num2;
    break;
    //square root
    case'^':
    System.out.println("Please enter a number");
    break;
    //fibonacci     
    case'#':
    System.out.println("Please enter the position of the Fibonacci number");
    break;
    //factorial
    case'!':
    System.out.println("Please enter the number for factoring");
    break;
              //absolute value
    case'&':
    System.out.println("Please enter a number");
    num1=console.nextInt();
    result=num1;
    break;
         // help funtion
    case'?':
    System.out.println("Type + for addition, - for subtraction");
    System.out.println("* for multipliction, / for division,^ for the square root");
    System.out.println(" & for absolute value, # for fibonacci,and ! for factorial");
    break;
    System.out.println("The result is:"+result);     
    }

    rmabrey wrote:
    I have the calculator working but I am having trouble figuring out thow to do a square root function, nth factorial, absolute value, and Fibonacci. java.lang.Math.sqrt()
    nothing for factorial - write your own.
    java.lang.Math.abs()
    nothing for Fibonacci - write your own.
    %

  • Compatability Issue: Need Help Disabling Additional Functions - URGENT!

    I am experiencing a problem with running Pro Tools 8.0.4 LE on my HP Pavilion dv7, which is encountered as a DAE error -6006 when loading Pro Tools. Research indicates that this error relates somehow to the firewire connection, and I am able to use Pro Tools on this system with a different interface (one that only has two microphone inputs) that allows me to connect via USB.
    Also, when I do run Pro Tools via USB it seems that I can't use the Quick Punch feature without a minimum 10 second (usually a lot longer) delayed response after pressing the playback or record button!
    I have been emailing Pro Tools support back and forth daily for 10 days now, and in the most recent email, they have said:
    "This might be an incompatibility issue. HP Pavilion dv7 laptop is not tested by our US headquarter testing team 
    and not officially supported.
    As you have found by yourself, each PC manufacture pre- installs their own features (as TV tuner) and the program into 
    Windows OS , the motherboard and BIOS. They work differently to Pro Tools and sometimes conflict. That is why we cannot support those PCs we have not tested.
    Please turn off all the additional function by HP from BIOS. Please ask HP support how to do."
    Therefore, I am requesting assistance with disabling all unnecessary services and processes on my HP laptop. I am assuming that the TV tuner is not a necessary service, but I have no idea about most of the others, and obviously I don't want to disable something that is necessary.
    If you could help me ASAP I would really appreciate it, as I need to get on with recording urgently! Thank you.
    This question was solved.
    View Solution.

    UPDATE:
    I have also been advised by Pro Tools support that if I add a supported FireWire card with Texas Instrument FireWire chip onto my computer, it may solve the problem. When I asked them how to go about doing this, they responded:
    "If your PC has Express Card slot, 
    http://avid.custkb.com/avid/app/selfservice/search.jsp?DocId=352647
    SIIG FireWire 2-Port ExpressCard
    is tested and supported FireWire card.
    Please ask HP about the spec of your computer."

  • Help in IDOC_INPUT_ORDERS Function module

    Hi,
    I am writing a program to generate an IDOC using IDOC_INPUT_ORDERS Function module .
    But I am a little confused as to what has to be passed as input_method,mass_processing which are the import parameters of this function-module .
    If anyone has a sample code program using function module IDOC_INPUT_ORDERS , please could you share it with me .
    Regards,
    Sushanth H.S.

    Hi Sushanth,
    IDOC_INPUT_ORDERS is a posting program.
    This program uploads the idic to the database table.
    Thatis it converts the idoc format to the SAP format.
    I have created a sample posting program.
    Please go through it.
    *& Report  Z_FI_UTIL_EXCEL2GL_POSTING                                  *
    REPORT  Z_FI_UTIL_EXCEL2GL_POSTING.
    include <icon>.
    */ =================================================================== *
    CONSTANTS: on  VALUE 'X',
               off VALUE ' ',
               tabx TYPE X VALUE '09',
               c_e1bpache08 TYPE edilsegtyp VALUE 'E1BPACHE08',
               c_e1bpacgl08 TYPE edilsegtyp VALUE 'E1BPACGL08',
               c_e1bpaccr08 TYPE edilsegtyp VALUE 'E1BPACCR08'.
    TYPES: BEGIN OF t_tab_index,
              from TYPE i,
              to   TYPE i,
           END   OF t_tab_index.
    data :    tab type c.
    DATA:
          e1bpache08 LIKE e1bpache08,
          e1bpacgl08 LIKE e1bpacgl08,
          e1bpaccr08 LIKE e1bpaccr08.
    DATA:      g_subrc    TYPE subrc.
    DATA:      g_file     TYPE string.
    DATA:      g_segname  TYPE edilsegtyp.
    DATA:      g_sdata    TYPE edi_sdata.
    DATA:      g_first_doc.
    DATA:      i_dataf     TYPE char2000   OCCURS 900 WITH HEADER LINE,
               i_dataf_doc TYPE char2000   OCCURS  50 WITH HEADER LINE.
    DATA:      g_tab_index TYPE t_tab_index OCCURS 100 WITH HEADER LINE.
    DATA:      i_accountgl TYPE bapiacgl08 OCCURS 100 WITH HEADER LINE,
               i_curramnt  TYPE bapiaccr08 OCCURS 100 WITH HEADER LINE,
               i_return    TYPE bapiret2   OCCURS  10 WITH HEADER LINE,
               g_docheader TYPE bapiache08.
    */ ======================== SELECTION ================================ *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-010.
    PARAMETERS: excelf TYPE file_name LOWER CASE
                DEFAULT 'C:\my_excel_file.txt'.
    SELECTION-SCREEN END   OF BLOCK b1.
    */ =========================== CORE ================================== *
    START-OF-SELECTION.
    */ Call text File with GUI_UPLOAD
      g_file = excelf.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                      = g_file
        FILETYPE                      = 'ASC'
        HAS_FIELD_SEPARATOR           = ' '
        HEADER_LENGTH                 = 0
        READ_BY_LINE                  = 'X'
      IMPORTING
        FILELENGTH                    =
        HEADER                        =
        TABLES
          data_tab                      = i_dataf
        EXCEPTIONS
          file_open_error               = 1
          file_read_error               = 2
          no_batch                      = 3
          gui_refuse_filetransfer       = 4
          invalid_type                  = 5
          no_authority                  = 6
          unknown_error                 = 7
          bad_data_format               = 8
          header_not_allowed            = 9
          separator_not_allowed         = 10
          header_too_long               = 11
          unknown_dp_error              = 12
          access_denied                 = 13
          dp_out_of_memory              = 14
          disk_full                     = 15
          dp_timeout                    = 16
          OTHERS                        = 17
      IF sy-subrc <> 0.
        write: / Text-032.
        stop.
      ENDIF.
    */ Initialisation
      write tabx to tab.          " required as of ABAP 610 split cannot
    */                             have mixed char and byte types
      CLEAR   g_tab_index.
      REFRESH g_tab_index.
    */ how to process several doc : detecting docs in i_dataf
      g_first_doc = on.
      LOOP AT i_dataf.
        CLEAR: g_segname, g_sdata.
        SPLIT i_dataf AT tab INTO g_segname g_sdata.
        CHECK:  g_segname = c_e1bpache08,
                sy-tabix > 1.
    */ 1st document
        IF g_first_doc = on.
          g_tab_index-from = 1.
          g_tab_index-to   = sy-tabix - 1.
          APPEND g_tab_index.
    */ Next Documents
        ELSE.
          g_tab_index-from = g_tab_index-to + 1.
          g_tab_index-to   = sy-tabix - 1.
          APPEND g_tab_index.
        ENDIF.
        g_first_doc = off.
      ENDLOOP.
    */ Last doc.
      g_tab_index-from = g_tab_index-to + 1.
      g_tab_index-to   = sy-tfill.
      APPEND g_tab_index.
    */ Process documents.
      loop at g_tab_index.
         clear   i_dataf_doc.
         refresh i_dataf_doc.
         append lines of i_dataf from g_tab_index-from
                                 to   g_tab_index-to
                                 to   i_dataf_doc.
         perform process_document.
      endloop.
    END-OF-SELECTION.
    */ =========================== ROUTINES ============================== *
          FORM process_document                                         *
    FORM process_document.
    */ Clearing Memory
      CLEAR:   g_docheader, i_accountgl, i_curramnt, i_return, g_subrc.
      REFRESH:              i_accountgl, i_curramnt, i_return.
    */ Checking i_dataf_doc
    */ Mapping dataf => Bapi structures & internal tables
      CLEAR g_subrc.
      CATCH SYSTEM-EXCEPTIONS conversion_errors = 1.
        LOOP AT i_dataf_doc.
          CLEAR g_sdata.
          SPLIT i_dataf_doc AT tab INTO g_segname g_sdata.
          CASE g_segname.
    */ HEADER
            WHEN c_e1bpache08.
              PERFORM do_split_ache08.
              MOVE-CORRESPONDING e1bpache08 TO g_docheader.
              IF e1bpache08-doc_date IS INITIAL.
                CLEAR g_docheader-doc_date.
              ENDIF.
              IF e1bpache08-pstng_date IS INITIAL.
                CLEAR g_docheader-pstng_date.
              ENDIF.
              IF e1bpache08-trans_date IS INITIAL.
                CLEAR g_docheader-trans_date.
              ENDIF.
    */ Account GL
            WHEN c_e1bpacgl08.
              PERFORM do_split_acgl08.
              MOVE-CORRESPONDING e1bpacgl08 TO i_accountgl.
              IF e1bpacgl08-pstng_date IS INITIAL.
                CLEAR i_accountgl-pstng_date.
              ENDIF.
              APPEND i_accountgl.
    */ Account Currency & Amounts
            WHEN c_e1bpaccr08.
              PERFORM do_split_accr08.
              MOVE-CORRESPONDING e1bpaccr08 TO i_curramnt.
              APPEND i_curramnt.
    */ kick the line if segment name not filled
            WHEN space.
    */ Other names => Bad file structure !
            WHEN OTHERS.
              g_subrc = 2.
          ENDCASE.
        ENDLOOP. " i_dataf_doc
      ENDCATCH.
    */ erreur d'affectation
      IF sy-subrc = 1 OR
      NOT g_subrc IS INITIAL.
        perform message_output using on.
        exit.
      ENDIF.
    */ Calling the BAPI
      CALL FUNCTION 'BAPI_ACC_GL_POSTING_POST'
        EXPORTING
          documentheader       = g_docheader
    IMPORTING
      OBJ_TYPE             =
      OBJ_KEY              =
      OBJ_SYS              =
        TABLES
          accountgl            = i_accountgl
          currencyamount       = i_curramnt
          return               = i_return
      EXTENSION1           =
      LOOP AT i_return WHERE type CA 'AE'.
        g_subrc = 1.
        EXIT.
      ENDLOOP.
      IF NOT g_subrc IS INITIAL.
        perform message_output using on.
      ELSE.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
           EXPORTING
              WAIT          =
           IMPORTING
              RETURN        =
          perform message_output using off.
      ENDIF.
    ENDFORM.
    *&      Form  do_split_ACHE08
          text
    -->  p1        text
    <--  p2        text
    FORM do_split_ache08.
      CLEAR e1bpache08.
      SPLIT g_sdata AT tab INTO
      e1bpache08-obj_type
      e1bpache08-obj_key
      e1bpache08-obj_sys
      e1bpache08-username
      e1bpache08-header_txt
      e1bpache08-obj_key_r
      e1bpache08-comp_code
      e1bpache08-ac_doc_no
      e1bpache08-fisc_year
      e1bpache08-doc_date
      e1bpache08-pstng_date
      e1bpache08-trans_date
      e1bpache08-fis_period
      e1bpache08-doc_type
      e1bpache08-ref_doc_no
      e1bpache08-compo_acc
      e1bpache08-reason_rev
    ENDFORM.                    " do_split_ACHE08
    *&      Form  do_split_ACGL08
          text
    -->  p1        text
    <--  p2        text
    FORM do_split_acgl08.
      CLEAR e1bpacgl08.
      SPLIT  g_sdata AT tab INTO
                      e1bpacgl08-itemno_acc
                      e1bpacgl08-gl_account
                      e1bpacgl08-comp_code
                      e1bpacgl08-pstng_date
                      e1bpacgl08-doc_type
                      e1bpacgl08-ac_doc_no
                      e1bpacgl08-fisc_year
                      e1bpacgl08-fis_period
                      e1bpacgl08-stat_con
                      e1bpacgl08-ref_key_1
                      e1bpacgl08-ref_key_2
                      e1bpacgl08-ref_key_3
                      e1bpacgl08-customer
                      e1bpacgl08-vendor_no
                      e1bpacgl08-alloc_nmbr
                      e1bpacgl08-item_text
                      e1bpacgl08-bus_area
                      e1bpacgl08-costcenter
                      e1bpacgl08-acttype
                      e1bpacgl08-orderid
                      e1bpacgl08-orig_group
                      e1bpacgl08-cost_obj
                      e1bpacgl08-profit_ctr
                      e1bpacgl08-part_prctr
                      e1bpacgl08-wbs_element
                      e1bpacgl08-network
                      e1bpacgl08-routing_no
                      e1bpacgl08-order_itno
    ENDFORM.                    " do_split_ACGL08
    *&      Form  do_split_ACCR08
          text
    -->  p1        text
    <--  p2        text
    FORM do_split_accr08.
      data: l_filler(100).
      CLEAR  e1bpaccr08.
      SPLIT  g_sdata AT tab INTO
                e1bpaccr08-itemno_acc
                e1bpaccr08-curr_type
                e1bpaccr08-currency
                e1bpaccr08-currency_iso
                e1bpaccr08-amt_doccur
                e1bpaccr08-exch_rate
                e1bpaccr08-exch_rate_v
                l_filler
    ENDFORM.                    " do_split_ACCR08
    *&      Form  message_output
          text
    -->  p1        text
    <--  p2        text
    FORM message_output using if_error.
      data: l_message(200),
            l_return type i.
       format color 1.
       skip.
       write: / text-020, g_tab_index-from,
                text-021, g_tab_index-to.
       skip.
       if if_error = on.
        write: / icon_red_light as icon, text-030 color 6.
       else.
        write: / icon_green_light as icon, text-031 color 5.
       endif.
       describe table i_return lines l_return.
       if l_return is initial.
         write: / text-032.
       endif.
       loop at i_return.
          CALL FUNCTION 'FORMAT_MESSAGE'
            EXPORTING
              ID              = i_return-id
              LANG            = sy-langu
              NO              = i_return-number
              V1              = i_return-MESSAGE_V1
              V2              = i_return-MESSAGE_V2
              V3              = i_return-MESSAGE_V3
              V4              = i_return-MESSAGE_V4
            IMPORTING
              MSG             = l_message
            EXCEPTIONS
              NOT_FOUND       = 1
              OTHERS          = 2
          check sy-subrc = 0.
          write: / l_message.
       endloop.
    ENDFORM.                    " message_output
    Tell me ur mailid. I will sen u more.
    <b>Please reward if helpful.</b>

Maybe you are looking for

  • Accessing ABAP Functions in Web Dynpro

    Hi all, for testing reasons I would like to implement a simple Web Dynpro Application which access APAP functions (or BAPIs) on a remote SAP backend system. The problem is that I dont have a SAP backend system There is a tutorial : <a href="https://w

  • Application Module's "query-on-commit"  flag

    Hi All, Can you please guide how to set Application Module's "query-on-commit" flag as on/off.

  • How to Call Transaction iView that calls RRMXP from Web Dynpro for ABAP

    Dear Experts,, I'm developing an application in Web Dynpro for ABAP wherein I'm supposed to give a link that should open an SAP Transaction iView that calls  tcode = 'RRMXP' and I pass the application parameter as QUERY/WBID = <BI query/Workbook ID>.

  • Pls anyone correct my error-urgent

    i m working with maker-cheker screen. i m getting FRM-40654 error Records has been updated by another user.Re-query to see change my code is as follows.      IF :PARAMETER.V_UTYPE = 'C' THEN                NProdid := :Productid;                CLEAR_

  • Cannot download videos

    I recently bought an Ipad and used a digital camera to take short videos and a few pictures. They were successfully transferred to my Ipad and I could view both pictures ( jpeg) and videos in the Ipad. However I am unable to download the videos to my