Function to read CRT WT in PCR

Dear Experts,
I want to querry a CRT wage type in a PCR. I hav written the pcr.
What function should i use to call that pcr. I tried with Actio, PIT but its not Iinput IT is passing as it to output IT.
Please tell me how can i fix this issue.
Charle

Process PCR with function PIT, and use operation AMT=CYxxxx, NUM+CMxxxx or something similar, but don't forget that it will read the CRT of the previous Payroll results.
I have one where I add the previous value of CRT to the WT's current value (AMT+CYxxxx) in order to create a temporary variable (ADDWT& xxxx) showing what will be the CRT value at the end of the current payroll period.

Similar Messages

  • Function to read status in process order

    Hello.
    Iu2019m using the function STATUS_TEXT_EDIT to read the status of a process order and I need read the statu in whole phases. Someone know a function to read the status of each phase in a process order?
    Thanks in advances

    Hello Vivek,
    My requirement is much simlar to this this is Status profile below maintain in the System
    1     INPR     In Process                          1     10     1     1
    2     UNCA     Unsigned - CA Approved     2     10     1     1
    3     UNFA     Unsigned - FA Approved     3     10     1     1     ZFAAPPR     RELE
    4     SIGN     Signed                          4     10     1     1
    5     SICA     Signed - CA Approved     5     10     1     1
    6     SIFA     Signed - FA Approved     6     10     1     1     ZFAAPPR     RELE
    7     TBCL     To Be Closed     1     10     1     1
    8     CLOS     Closed                          1     10     1     1     ZNOAUTH
    9     TBCN     To Be Cancelled     1     10     1     1
    10     CANC     Cancelled                         10     10     1     1     ZNOAUTH     CANC
    11     COMP     Completed                  1     11     1     1     ZNOAUTH
    My Requirement is when the status is  Close we can set the status to any of the Ten mentioned status as it was maintained in Highest and lowest vlalues here i dnt need alll the status i only need filtered Statues for the Close Status like
    In Proces,Unsigned - CA Approved,Signed,Signed - CA Approved,To Be Closed these Status should be active when the Header Status is Close.Can you help me steps involved to  achive this
    Edited by: posanapalli kiran on Feb 11, 2010 10:08 AM

  • ABAP Function to read long texts in HR Infotypes

    Is there any standard ABAP function to read long texts in HR infotypes like ABAP function to read comments entered in infotype 19

    HI ,
    try this code
    tables pcl1.
    include rpc1tx00.  " This include is explained on web page above
    start-of-selection. 
    perform fill_key.  perform get_data.end-of-selection.
    form fill_key. 
      tx-key-pernr = p_pernr.
      tx-key-infty = p_infty.
      tx-key-subty = p_subty.
      tx-key-objps = p_objps. 
      tx-key-sprps = p_sprps.
      tx-key-endda = p_endda. 
    tx-key-begda = p_begda.
    tx-key-seqnr = p_seqnr.
    "OR
      SELECT * INTO CORRESPONDING FIELDS OF wa_p0219
       FROM pa0219
       WHERE pernr = p_pernr
         AND subty =  p_subtyp
         AND endda = '99991231'.
      ENDSELECT.
    MOVE-CORRESPONDING gs_p0219 TO tx-key.
        MOVE '0219' TO tx-key-infty.
         IF wa_p0219-itxex = 'X'.
           MOVE-CORRESPONDING wa_p0219 TO tx-key.
         endif.
    endif
    endform.                    " fill_key
    form get_data. 
          import ptext from database pcl1(tx) id tx-key.
           loop at ptext.            "ptext is defined in above include  
                   write: / ptext-line. 
          endloop.
    endform.  " get_data
    Prabhudas

  • Give me some examples for functions for read POST, write POST, modify POST

    Give me some examples for functions for read POST, write POST, modify POST, create and delete theme in forum. This functions have to be make like Remote Methods

    Give me some examples for functions for read POST, write POST, modify POST, create and delete theme in forum. This functions have to be make like Remote Methods

  • Can I use LabVIEW to load data directly into system memory? The serial card I'm using isn't supported by NI nor does VISA recognize it. I'm using a Win32 function to read the data from the card and now I want it to go directly to system memory.

    Can I use LabVIEW to load data directly into system memory from a VI? The serial card I'm using isn't supported by NI nor does VISA recognize it. I'm using a Call Library function to read the data from the card and now I want it to go directly to system memory.
    The data is being received at 1Mbps.
    Thanks

    Two questions:
    One, if it's a serial card, then presumably it gives you more serial ports, like COM3, COM4, etc. If so, VISA would see the COM ports, and not the card directly. The drivers for the card should make it so that you see the extra serial ports from the OS. If you don't see the extra COM ports from VISA, then it sounds like the drivers for the card are not installed properly. Do the extra COM ports show up in Device Manager?
    Two, you said that you're using a Call Library function to get the data and you want to put it into system memory. Errr.... you just read the data and you have it in memory by definition. Are you saying you need a way to parse the data so it shows up on a graph or something?

  • Functions to read and display an array of integers

    Hi guys,
    I am trying to implement with a class called Sort a function to read in an array of integers from a file and a function to display that array.
    public class Sort
         public static int[] read(String file) throws IOException
            /* Create Reader object to read contents of file */
            BufferedReader br = new BufferedReader(new FileReader(file));
            /* Read file and store lines in ArrayList */
            ArrayList<Integer> list = new ArrayList<Integer>();
            /* Variable */
            String in;
            /* While not equal to null reads data from file */
            while ((in = br.readLine()) != null)
                /* Adds data from file to ArrayList */
                list.add(Integer.parseInt(in));
            /* Converts ArrayList into an array */
            int[] array = new int[list.size()];
            for(int i = 0; i < list.size(); i++)
                /* Get array elements */
                array[i] = list.get(i);
            /* Returns array */
            return array;
        public int display()
            for (int i = 0; i < list.size(); i++)
                System.out.println(list.get(i));
    }I am having one of those moments when you forget everything, I need help with display the array in a seperate function, will someone help me please?
    Thanks!

    I know that its just implementing it.
    I have:
    public void display()
            for(int i = 0; i < array.length; i++)
                System.out.println(array);
    But I'm lost on how to make this work, i.e it says "cannot find array variable". I've not done Java for a while and feel like I have forgot everything!
    Edited by: mbruce10 on Nov 15, 2009 1:31 AM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Reading Organizational Unit in PCR

    Hi
    Is there a way to read Organizational Unit in PCR? If yes, please throw some light on it.
    Regards
    Yash

    You can use operationOUTWP  ,use  OUTWPORGEH    to query Organizational unit
    along with some time you have to use VALEN and VAOFF  to limit the Length of the decision item
    Please go through the Documentation of Operation  OUTWP,VALEN,VAOFF , ( go to PE04)

  • Reading infotype 0041 in PCR

    I need to read the date of joining in PCRs. i am maintaining date specification infotype 41. how to get this date from IT 41 in PCR. What operation i need to use.. Or is there any operation which can directly give hiring date of person without maintaining 41 infotype.
    pls tell its urgent.
    Thanks in Advance.

    I sent you this information, words in bold I think would help you
    Evaluating Date Specifications in Payroll
       Object
         Operations NUM, AMT and RTE evaluate date specifications for the
         calculation of deadlines. Retrieval takes place using the function
         DATES.
         Two dates are determined. These are interpreted as the start and end
         dates of a period. The evaluation of deadlines can return incorrect
         results if the second date lies before the first date. Therefore, for
         deadline calculation purposes, the first date should always be smaller
         than the second date.
         Date types with the following short names can be used for the
         evaluation. All date types other than 'X' are only taken into account if
         they are before the end of the current payroll period.
         In the operations NUM, RTE und AMT, specification of the date type
         follows the operand F directly.
         A, B  First entry from infotype 0000
         C    Last entry, or reentry
         D  Last change of individual working time from infotype 0041
             In table T530, if the field KUNBZ (indicator for irregular payments)
             is 05, then the start date of the work center is taken for D.
         E    Last change of capacity utilization level from infotype 0008
         F    Last change of weekly working hours from infotype 0007
             A comparison is carried out with date type C for the date types D, E
             and F. If the value determined for C is greater than the values
             determined for D, E or F (that is, a later date), the value of C is
             used for D, E or F. Any changes in the capacity utilization level or
             the like before the last reentry are not evaluated. The date of the
             last reentry is taken instead of this date.
         G    Birth date from infotype 0002
         W    Reentry
             The last reentry date is entered in this date specification. If no
             reentry data exists, the initial entry date is used. This date has
             the short name 'A' in the evaluation.
         X     Employee leaves after the end of the period in accordance
         with infotype 0000
             The system checks whether there is a record for infotype 0000
             (Actions) has a record where the Stat2 field has the value 0 (=
             left). The start date (BEGDA) of this record is the leaving date.
             This date type always has an entry. If an employee leaves after the
             end of the period in question, this date will be used. If no leaving
             date exists, the date December 12, 9999 is used.
         Z     Leaving before the end of the period in accordance with infotype
         0000
             The system checks whether there is a record for 0000 (Actions) where
             the Stat2 field has the value 0 (= left). The start date (BEGDA) of
             this record is the leaving date.
             This date type always has an entry. If an employee leaves before the
             period in question, this date is used. If no date is given, the date
             December 31, 9999 is used.
         nn    Date type 'nn' from the Date Specifications infotype (0041)
             Date types are taken from table T548Y.
       Syntax
         The operands are constructed as follows:
             Operation NUM= is taken as an example: Processing is identical for
             RTE and AMT:
          NUM=Faaesb
              F          Fixed indicator for deadline calculation
               aa           Date type: Start date of period to be
                            calculated; if the date type is not 'nn,'
                            the second position is left blank.
                 e          Unit, in which the duration is calculated:
                            T = days
                            W = week
                            M = months
                            C = complete months
                            K = complete calendar months
                            N = complete calendar months (rounded up)
                            J = Years
                            Y = Complete years
                           The difference between the individual
                           units is explained in
         Calculation Examples
                           in more detail.
                  s         End date of period to be calculated:
                            (blank)  End of current payroll period
                            J        End of current calendar year
                            A        Start of current calendar year
                            B        Start of WPBP period
                           No other specifications are possible.
                   b        If the date type specified in parameter aa
                            does not exist for the person in question,
                            an alternative fixed identification is
                            selected. If 'SPACE' is entered, the
                            date 31.12.9999 is used. However, you can use
                           one of the date types listed above as
                           an alternative or enter 0
                           0 to set the alternative value to 0.
       Example
         NUM=FA_M_
               F         Identifier for deadline calculation
               A             Date type A, initial entry from infotype 0000
                _            Blank; placeholder for 2-character
                             date type from infotype 0041
                 M           Deadline calculation is in months
                  _          Blank; key date for deadline calculation
                             End of payroll period
                   _         Blank; If no specification exists for date
                             type A, the date 31.12.9999 is used as an
                             alternative.
         NUM=F01M_A
             F                Identifier for calculation deadline
              01              Date type for technical entry date from
                              infotype 0041
                M             Deadline calculation in months
                 _            blank, key date for calculating the
         deadline
                              End of payroll period
                  A           Alternative date: if no specification exists
                              for date type 01, the first entry from
                              infotype 0000 is used.
         Under Calculation Examples for Evaluating Date Specifications you can
         find more information and case studies regarding how to calculate the
         period between a start and end date for the operations NUM, RTE and AMT.
    Regards. Manuel Campos

  • Reading CRT

    Dear Freinds
                I have to read the CRT values for the wage tyep /101.
    but the Technical Owner said that i have to do loop for getting all the values in the  split. Could any please explaing what they mean by split and if possible by any example , because as per me CRT we will only read the wage type = /101 and fetch the amount .
    Regds
    Syamala

    Hi Kiran,
    The best way is to follow the following sinppet.
    Get the payroll results
      CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
        EXPORTING
          employeenumber               = p0001-pernr
          sequencenumber               = v_seqnr
        CHANGING
          payroll_result               = wa_payresult
        EXCEPTIONS
          illegal_isocode_or_clusterid = 1
          error_generating_import      = 2
          import_mismatch_error        = 3
          subpool_dir_full             = 4
          no_read_authority            = 5
          no_record_found              = 6
          versions_do_not_match        = 7
          error_reading_archive        = 8
          error_reading_relid          = 9
          OTHERS                       = 10.
      IF sy-subrc = 0.
    move payroll results to Internal tables
            MOVE wa_payresult-inter-crt[] TO it_crt[]."payroll result from CRT table
    Get the payroll result from crt table
        LOOP AT it_crt INTO wa_crt.
          CASE wa_crt-lgart. " Wagetype
            WHEN  /101.
              v_amount = wa_crt-betrg.
                 ENDCASE.
          CLEAR wa_crt.
        ENDLOOP.
    Important, U must check with CU_READ_RGDIR and get the IT_rgdir, and later check for the for-period and in-period, according to your requirement.
    ThankQ
    Regards
    Rohini.

  • How do you use the windows User32.dll Library functions to read variables from other applications that are running

    I am trying to read a text box from a programme running at the same time as my Labview application using calls to the Windows
    User32.dll. I believe I need to find the window handle for the 'form' containing this text string and use this together with
    various other defined input variables to access the sting.
    I have no experience of using this 'Call Library Function Node', but have an understanding of the 'C' programming language. Does anyone have
    example Labview code showing how this might be done.
    Thanks

    If you're trying to access information that's being displayed in the window of another application and that application has no ActiveX interface, then yes, Windows calls can be used. There's a very good example on calling DLLs that ship with LabVIEW. Open the Example Finder (Help->Find Examples) and switch to the Search tab. Enter "Call" in the search box and open the VI "Call DLL". Run the VI, select any of the examples, and click the "Open Example VI..." button. That shows you how to call a DLL.
    Now, given that you have no experience in calling DLLs, have only an "understanding" of C (which to me means you have never written something like a DLL), and don't seem to know that much about what Windows functions you may need, you're going to find this route pretty difficult, especially since you have to deal with Windows API calls, which are not always that easy to do from LabVIEW.
    Let me propose an alternate solution. Go over to http://www.autoitscript.com/autoit3/ and download AutoIt. This is an automation tool that allows you to automate just about anything you want. It has an ActiveX interface that you can call from LabVIEW. I've attached an example VI that shows you how to use it to get the value of a text box from one of the tabs in the computer "System Properties" control panel applet.
    Attachments:
    AutoIt Example (v7).vi ‏25 KB

  • Update to Acrobat 9.5.1 breaks Flash functionality for reading archived emails

    On installing update 9.5.1 to Acrobat Pro on WinXP, I can no longer read the index of previously archived email collections created using the Email to PDF macro in Outlook 2007.
    The PDF data file indices were readable before, and are still readable in Acrobat X Reader.  Hence the data file content seems to be correct.
    I get the error message as below and then on Cancel (as the download page does not work) I can only see the first email in the collection as a two pgae PDF, which is limited to say the least.
    Please advise how I should restore the functionality I had prior to this upgrade.

    Yes, as I said in my original post.the link to the download page did not work.  Also as Acrobat X Reader worked (on the same computer), then the required Flash software was already somewhere on my computer
    However, this issue has now been resolved by applying the recent update from Acrobat Pro v.9.5.1 to v.9.5.2, reopening the PDF portfolio and following the link in the new dialog box that appeared, to go to the correct Adobe(R) webpage to download and install the Flash Software update.  This latest webpage has a date of this month (August 2012).
    As of v.9.5.2 this problem is solved.

  • Like Ini related functions, is there any functions for reading other functions like .c, .h file

    Hi,
          For reading the *.ini file there are many Ini realted functions. Like that I need in built function in CVI to read the files like
    *.c, *.h line by line. Actually string searching function is not helping me as I want to read it line by line and perform
    the operations in which I am interested.
    Can anyone help me on this?
    Thanks and Regards
    Nagraj B

    It's not clear to me what you are aiming to, but reading a text file line by line can be accomplished by ReadLine () function.
    Parsing the line read to intercept special keyword can be done via regular expression instrument driver, which is included in CVI distribution.
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • PL/SQL function to read a string of characters into an array

    I was wondering if there is an easier way than using the substr function multiple times. Here is the example:
    Suppose you have a varchar2 variable that contains the word 'Apple'. The function should take it and produce an array. We would invoke it like this:
    <what data structure?> a := stringunpackerfunction(x);
    // x is the varchar2 containing 'Apple'.
    The resulting a would be such that a[0] is 'A', a[1] is 'p', a[2] is 'p', a[3] is 'l' and a[4] is 'e'.
    If there is no direct function to do this in a single invocation, is there a function to simply read a string of characters and return 'the next character'?
    Thanks,
    Regards,
    Srini

    There is a procedure out there called PS_PARSE which takes a string and converts to an array provided with an identified separator. Works for us pretty well.
    I just grabbed this off of google. I am presuming this should work fine. It has been sometime since we implemented ours that I forget if there were any additional modifications that we made. I think there was one regarding the size of the string that could be handled. I forget precisely. Anyways... take a peek at it. Its makes things easy in that your logic is pretty streamlined.
    Barry C
    http://www.myoracleportal.com
    create or replace PACKAGE PS_Parse
    IS
         || PL/SQL table structures to hold atomics retrieved by parse_string.
         || This includes the table type definition, a table (though you can
         || declare your own as well, and an empty table, which you can use
         || to clear out your table which contains atomics.
         TYPE atoms_tabtype IS TABLE OF VARCHAR2(60) INDEX BY BINARY_INTEGER;
         atoms_table atoms_tabtype;
         empty_atoms_table atoms_tabtype;
         || The standard list of delimiters. You can over-ride these with
         || your own list when you call the procedures and functions below.
         || This list is a pretty standard set of delimiters, though.
         std_delimiters VARCHAR2 (50) := ' !@#$%^&*()-_=+\|`~{{]};:''",<.>/?';
         /* Display contents of table using DBMS_OUTPUT */
         PROCEDURE display_atomics
              (table_in IN atoms_tabtype, num_rows_in IN NUMBER);
         || The parse_string procedure: I provide two, overloaded definitions.
         || The first version puts all atomics into a PL/SQL table and would
         || be used in a PL/SQL Version 2 environment. The second version places
         || all atomics into a string, separating each atomic by a vertical bar.
         || (My code does NOT do any special handling when it finds a "|" in
         || the string. You have to deal with that when you extract the atomics.
         ||
         || See the program definition for more details on other parameters.
         PROCEDURE parse_string
              (string_in IN VARCHAR2,
              atomics_list_out OUT atoms_tabtype,
              num_atomics_out IN OUT NUMBER,
              delimiters_in IN VARCHAR2 := std_delimiters);
         PROCEDURE parse_string
              (string_in IN VARCHAR2,
              atomics_list_out IN OUT VARCHAR2,
              num_atomics_out IN OUT NUMBER,
              delimiters_in IN VARCHAR2 := std_delimiters);
         /* Count the number of atomics in a string */
         FUNCTION number_of_atomics
              (string_in IN VARCHAR2,
              count_type_in IN VARCHAR2 := 'ALL',
              delimiters_in IN VARCHAR2 := std_delimiters)
         RETURN INTEGER;
         /* Return the Nth atomic in the string */
         FUNCTION nth_atomic
              (string_in IN VARCHAR2,
              nth_in IN NUMBER,
              count_type_in IN VARCHAR2 := 'ALL',
              delimiters_in IN VARCHAR2 := std_delimiters)
         RETURN VARCHAR2;
    END PS_Parse;
    create or replace PACKAGE BODY PS_Parse
    IS
    /* Package variables used repeatedly throughout the body. */
    len_string     NUMBER;
    start_loc     NUMBER;
    next_loc     NUMBER;     
    || Since the PUT_LINE procedure regards a string of one or more
    || spaces as NULL, it will not display a space, which is in
    || PS_Parse a valid atomic. So I save a_blank in the PL/SQL
    || table instead of the space itself.
    a_blank CONSTANT VARCHAR2(3) := '" "';
    /*--------------------- Private Modules ---------------------------
    || The following functions are available only to other modules in
    || package. No user of PS_Parse can see or use these functions.
    FUNCTION a_delimiter
    (character_in IN VARCHAR2,
    delimiters_in IN VARCHAR2 := std_delimiters)
    RETURN BOOLEAN
    || Returns TRUE if the character passsed into the function is found
    || in the list of delimiters.
    IS
    BEGIN
    RETURN INSTR (delimiters_in, character_in) > 0;
    END;
    FUNCTION string_length (string_in IN VARCHAR2)
    RETURN INTEGER
    IS
    BEGIN
    RETURN LENGTH (LTRIM (RTRIM (string_in)));
    END;
    FUNCTION next_atom_loc
    (string_in IN VARCHAR2,
    start_loc_in IN NUMBER,
    scan_increment_in IN NUMBER := +1)      
    || The next_atom_loc function returns the location
    || in the string of the starting point of the next atomic (from the
    || start location). The function scans forward if scan_increment_in is
    || +1, otherwise it scans backwards through the string. Here is the
    || logic to determine when the next atomic starts:
    ||
    ||          1. If current atomic is a delimiter (if, that is, the character
    ||               at the start_loc_in of the string is a delimiter), then the
    ||               the next character starts the next atomic since all
    ||               delimiters are a single character in length.
    ||
    ||          2. If current atomic is a word (if, that is, the character
    ||               at the start_loc_in of the string is a delimiter), then the
    ||               next atomic starts at the next delimiter. Any letters or
    ||               numbers in between are part of the current atomic.
    ||
    || So I loop through the string a character at a time and apply these
    || tests. I also have to check for end of string. If I scan forward
    || the end of string comes when the SUBSTR which pulls out the next
    || character returns NULL. If I scan backward, then the end of the
    || string comes when the location is less than 0.
    RETURN NUMBER
    IS
    /* Boolean variable which uses private function to determine
    || if the current character is a delimiter or not.
    was_a_delimiter BOOLEAN :=
    PS_Parse.a_delimiter (SUBSTR (string_in, start_loc_in, 1));     
    /* If not a delimiter, then it was a word. */
    was_a_word BOOLEAN := NOT was_a_delimiter;
    /* The next character scanned in the string */
              next_char VARCHAR2(1);
    || The value returned by the function. This location is the start
    || of the next atomic found. Initialize it to next character,
    || forward or backward depending on increment.
    return_value NUMBER := start_loc_in + scan_increment_in;
    BEGIN
    LOOP
    -- Extract the next character.
    next_char := SUBSTR (string_in, return_value, 1);
    -- Exit the loop if:
    EXIT WHEN
    /* On a delimiter, since that is always an atomic */
    a_delimiter (next_char)
    OR
    /* Was a delimiter, but am now in a word. */
    (was_a_delimiter AND NOT a_delimiter (next_char))
    OR
    /* Reached end of string scanning forward. */
    next_char IS NULL
    OR
    /* Reached beginning of string scanning backward. */
    return_value < 0;
    /* Shift return_value to move the next character. */
    return_value := return_value + scan_increment_in;
    END LOOP;
    -- If the return_value is negative, return 0, else the return_value
    RETURN GREATEST (return_value, 0);
    END;
    PROCEDURE increment_counter
    (counter_inout IN OUT NUMBER,
    count_type_in IN VARCHAR2,
    atomic_in IN CHAR)
    || The increment_counter procedure is used by nth_atomic and
    || number_of_atomics to add to the count of of atomics. Since you
    || can request a count by ALL atomics, just the WORD atomics or
    || just the DELIMITER atomics. I use the a_delimiter function to
    || decide whether I should add to the counter. This is not a terribly
    || complex procedure. I bury this logic into a separate module,
    however,
    || to make it easier to read and debug the main body of the programs.
    IS
    BEGIN
    IF count_type_in = 'ALL' OR
    (count_type_in = 'WORD' AND NOT a_delimiter (atomic_in)) OR
    (count_type_in = 'DELIMITER' AND a_delimiter (atomic_in))
    THEN
    counter_inout := counter_inout + 1;
    END IF;
    END increment_counter;
    /* ------------------------- Public Modules -----------------------*/
    PROCEDURE display_atomics
    (table_in IN atoms_tabtype, num_rows_in IN NUMBER)
    || Program to dump out contents of table. Notice I must also pass in
    || the number of rows in the table so that I know when to stop the
    || loop. Otherwise I will raise a NO_DATA_FOUND exception. For a more
    || elaborate display_table module, see Chapter 7 on PL/SQL tables.
    IS
    BEGIN
    FOR table_row IN 1 .. num_rows_in
    LOOP
    DBMS_OUTPUT.PUT_LINE (NVL (table_in (table_row), 'NULL'));
    END LOOP;
    END;
    PROCEDURE parse_string
    (string_in IN VARCHAR2,
    atomics_list_out OUT atoms_tabtype,
    num_atomics_out IN OUT NUMBER,
    delimiters_in IN VARCHAR2 := std_delimiters)
    || Version of parse_string which stores the list of atomics
    || in a PL/SQL table.
    ||
    || Parameters:
    ||          string_in - the string to be parsed.
    ||          atomics_list_out - the table of atomics.
    ||          num_atomics_out - the number of atomics found.
    ||          delimiters_in - the set of delimiters used in parse.
    IS
    BEGIN
    /* Initialize variables. */
    num_atomics_out := 0;
    len_string := string_length (string_in);
    IF len_string IS NOT NULL
    THEN
    || Only scan the string if made of something more than blanks.
    || Start at first non-blank character. Remember: INSTR returns 0
    || if a space is not found. Stop scanning if at end of string.
    start_loc := LEAST (1, INSTR (string_in, ' ') + 1);
    WHILE start_loc <= len_string
    LOOP
    || Find the starting point of the NEXT atomic. Go ahead and
    || increment counter for the number of atomics. Then have to
    || actually pull out the atomic. Two cases to consider:
    ||          1. Last atomic goes to end of string.
    ||          2. The atomic is a single blank. Use special constant.
    ||          3. Anything else.
    next_loc := next_atom_loc (string_in, start_loc);
    num_atomics_out := num_atomics_out + 1;
    IF next_loc > len_string
    THEN
    -- Atomic is all characters right to the end of the string.
    atomics_list_out (num_atomics_out) :=
    SUBSTR (string_in, start_loc);
    ELSE
    || Internal atomic. If RTRIMs to NULL, have a blank
    || Use special-case string to stuff a " " in the table.
    atomics_list_out (num_atomics_out) :=
    NVL (RTRIM (SUBSTR (string_in,
    start_loc, next_loc-start_loc)),
                                       a_blank);
    END IF;
    -- Move starting point of scan for next atomic.
    start_loc := next_loc;
    END LOOP;
    END IF;
    END parse_string;
    PROCEDURE parse_string
    (string_in IN VARCHAR2,
    atomics_list_out IN OUT VARCHAR2,
    num_atomics_out IN OUT NUMBER,
    delimiters_in IN VARCHAR2 := std_delimiters)
    || The version of parse_string which writes the atomics out to a packed
    || list in the format "|A|,|C|". I do not repeat any of the comments
    || from the first iteration of parse_string.
    IS
    BEGIN
    /* Initialize variables */
    num_atomics_out := 0;
    atomics_list_out := NULL;
    len_string := string_length (string_in);
    IF len_string IS NOT NULL
    THEN
    start_loc := LEAST (1, INSTR (string_in, ' ') + 1);
    WHILE start_loc <= len_string
    LOOP
    next_loc := next_atom_loc (string_in, start_loc);
    num_atomics_out := num_atomics_out + 1;
    IF next_loc > len_string
    THEN
    atomics_list_out := atomics_list_out || '|' ||      
    SUBSTR (string_in, start_loc);
    ELSE
    atomics_list_out :=
    atomics_list_out || '|' ||      
    NVL (RTRIM (SUBSTR (string_in,
    start_loc, next_loc-start_loc)),
                                       a_blank);
    END IF;
    start_loc := next_loc;
    END LOOP;
    /* Apply terminating delimiter to the string. */
    atomics_list_out := atomics_list_out || '|' ;
    END IF;
    END parse_string;
    FUNCTION number_of_atomics
    (string_in IN VARCHAR2,
    count_type_in IN VARCHAR2 := 'ALL',
    delimiters_in IN VARCHAR2 := std_delimiters)
    RETURN INTEGER
    || Counts the number of atomics in the string_in. You can specify the
    || type of count you want: ALL for all atomics, WORD to count only the
    || words and DELIMITER to count only the delimiters. You can optionally
    || pass your own set of delimiters into the function.
    IS
    return_value INTEGER := 0;
    BEGIN
    /* Initialize variables. */
    len_string := string_length (string_in);
    IF len_string IS NOT NULL
    THEN
    || This loop is much simpler than parse_string. Call the
    || next_atom_loc to move to the next atomic and increment the
    || counter if appropriate. Everything complicated is shifted into
    || sub-programs so that you can read the program "top-down",
    || understand it layer by layer.
    start_loc := LEAST (1, INSTR (string_in, ' ') + 1);
    WHILE start_loc <= len_string
    LOOP
    increment_counter (return_value, UPPER (count_type_in),
    SUBSTR (string_in, start_loc, 1));
    start_loc := next_atom_loc (string_in, start_loc);
    END LOOP;
    END IF;
    RETURN return_value;
    END number_of_atomics;
    FUNCTION nth_atomic
    (string_in IN VARCHAR2,
    nth_in IN NUMBER,
    count_type_in IN VARCHAR2 := 'ALL',
    delimiters_in IN VARCHAR2 := std_delimiters)
    RETURN VARCHAR2
    || Find and return the nth atomic in a string. If nth_in is greater
    || the number of atomics, then return NULL. If nth_in is negative the
    || function counts from the back of the string. You can again request
    || a retrieval by ALL atomics, just the WORDs or just the DELIMITER.
    || So you can ask for the third atomic, or the second word from the end
    || of the string. You can pass your own list of delimiters as well.
    IS
    /* Local copy of string. Supports up to 1000 characters. */
    local_string VARCHAR2 (1000) :=
    LTRIM (RTRIM (SUBSTR (string_in, 1, 1000)));
    /* Running count of atomics so far counted. */
    atomic_count NUMBER := 1;
    /* Boolean variable which controls the looping logic. */
    still_scanning BOOLEAN :=
    local_string IS NOT NULL AND nth_in != 0;
    /* The amount by which I increment the counter. */
    scan_increment INTEGER;
    /* Return value of function, maximum length of 100 characters. */
    return_value VARCHAR2 (100):= NULL;
    BEGIN
    IF nth_in = 0
    THEN
    /* Not much to do here. Find 0th atomic? */
    RETURN NULL;
    ELSE
    /* Initialize the loop variables. */
    len_string := string_length (local_string);
    IF nth_in > 0
    THEN
    /* Start at first non-blank character and scan forward. */
    next_loc := 1;
    scan_increment := 1;
    ELSE
    /* Start at last non-blank character and scan backward. */
    next_loc := len_string;
    scan_increment := -1;
    END IF;
    /* Loop through the string until the Boolean is FALSE. */
    WHILE still_scanning
    LOOP
    /* Move start of scan in string to loc of last atomic. */
    start_loc := next_loc;
    /* Find the starting point of the next atomic. */
    next_loc      :=
    next_atom_loc (local_string, start_loc, scan_increment);
    /* Increment the count of atomics. */
    increment_counter
    (atomic_count,
    UPPER (count_type_in),
    SUBSTR (local_string, start_loc, 1));
    || Keep scanning if my count hasn't exceeded the request
    || and I am neither at the beginning nor end of the string.
    still_scanning :=
    atomic_count <= ABS (nth_in) AND
    next_loc <= len_string AND
    next_loc >= 1;
    END LOOP;
    || Done with the loop. If my count has not exceeded the requested
    || amount, then there weren't enough atomics in the string to
    || satisfy the request.
    IF atomic_count <= ABS (nth_in)
    THEN
    RETURN NULL;
    ELSE
    || I need to extract the atomic from the string. If scanning
    || forward, then I start at start_loc and SUBSTR forward.
    || If I am scanning backwards, I start at next_loc+1 (next_loc
    || is the starting point of the NEXT atomic and I want the
    || current one) and SUBSTR forward (when scanning in
    || reverse, next_loc comes before start_loc in the string.
    IF scan_increment = +1
    THEN
    RETURN
    SUBSTR (local_string, start_loc, next_loc - start_loc);
    ELSE
    RETURN
    SUBSTR (local_string, next_loc+1, start_loc - next_loc);
    END IF;
    END IF;
    END IF;
    END nth_atomic;
    END PS_Parse;
    /

  • Javascript stopped functioning when reader 9.2  installed

    I have a fillable PDF form that was designed using Live Cycle Designer -
    It uses a javascript to load XML data and fill the PDF form fields.
    This had been working previously in a previous version of Reader but has suddenly stopeed working now that Reader 9.2 was installed -
    has there been some sort of a change in how javascripts function for the Reader since 9.2 . ?
    The Load function javascript is tested and currently works inside Acrobat Professional - but does nothing in Reader.
    Please help
    Thanks

    So then, a RIKLA is the only way to have this useful functionality available for the reader ?
    to me, it is clearly worth it - we have reader running everywhere - but corporate doens't like the $1,000 RIKLA price tag and the lack of a guarantee from Adobe that it will work in future relases , etc.
    no crafty work - arounds ? huh ?
    The current work-around is to write an Adobe Acrobat plug-in that allows a centralizd function to process XML files and fill out PDF's on demand from the XML files generated from a number of other smaller, processes.
    This means that an operator needs to, periodically, run the PDF filling plug-in function at a particualr workstation which has a running copy of Adobe Acrobat and then they filled PDF files are then visible - .
    The only other available solution is to generate a PDF from scratch - and that is an un-popular proposal - sice we would then need to maintain many different forms manually -
    Personally, i think Adobe is missing the bigger picture here -
    I think if they made this capability avaialbe they would sell more copies of Acrobat / live cycle because at mnay more people would want to automate this very tedious processing.
    Anyway - my two cents are up ....
    Thanks for the help

  • Restricted Functions in Reader 9

    In Acrobat 9 Pro, when I "Enable Usage Rights in Adobe Reader," I am warned that "certain functions will be restricted" for the end user in Adobe Reader.
    Does anyone have a comprehensive list of which functions are restricted for the end user?
    Specifically, if cell properties in Acrobat utilize the "Calculate" function, is the "Calculate" function operational in Reader?

    It's mostly changes that modify the document, such as adding pages, spawning templates, etc. To get an idea, open an enabled document in Acrobat and see which tools and menu items are disabled. Form calculations certainly are not disabled or otherwise restricted.
    George

Maybe you are looking for

  • How To Disable Save Sent Copy

    Hi I'm a noobs bout blackberry (infact I dun have one) My boss blackberry kept a sent copy evrytime he emails (he use BIS service and our company doesn't have BES) and it's kept filling the sentbox folder on the server. How can I disable this feature

  • BAPI_MOSRVAPS_CREATESNPORDER - time zone issue

    Hi We are creating SNP Plan Orders in APO using BAPI_MOSRVAPS_CREATESNPORDER. New Order getting created using the BAPI has time stamp 23:59:59 which is taken from UTC time zone. Is there any way we can create/load SNP Plan Order with time different t

  • KIMYONG : Forms Client Runaway 발생시 조치사항

    Purpose ========= f60webmx 이 Runaway process 로 남아있을경우 불필요한 자원을 사용할수 있습니다. 이에 대한 조치사항을 기술하고자 합니다. Cause ======= 1. Forms client process (f60webmx ) database server process 와의 socket connection 이 끊겨서 발생하수 있습니다. 2. 어떠한 database server process 도 현재의 Form

  • MIRO accounting entries

    Hi All,            i need to what are accounts those are hit when we post IR recipt in MIRO.  I got an idea GR/IR clearing accounting and vendor account should be hit. But there are so many entries when i am posting. Please provide me which transacti

  • Cannot set up home sharing

    Hi, I am running iTunes 11.0.2.26 on a Windows 7 pc.  According to the Apple Home Sharing documentation I found, when I select File -> Home Sharing -> Turn on Home Sharing, and log in with my Apple ID, I should get an option to "Create a Home Share",