Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    Globally changing budget numbers

    • Article Type: General
    • Product: Aleph
    • Product Version: 20, 21, 22, 23

    Description:
    We are changing the budget structure and want to globally change the existing fund numbers of the old structure to the new naming structure for all open orders. How could this be done?

    Resolution:
    The original (pre-v18) answer to this question may be seen below. It could be useful for understanding how to check where a particular record type is used.

    But in version 18 the p_acq_31 service ("Transfer orders from one budget to another") was introduced. This job does the following:

    Transfers orders from one budget to another, that is, transfers the active and original encumbrances of the orders specified in the input file....

    Transfers *only* encumbrance transactions (ENC); the invoice transactions (INV) are not transferred to the new budget.

    Only active orders (orders with an order status other than "CLS", "VC" and "LC" are handled by this service).


    *Original (pre-v18) answer*

    The following is both an answer to this specific question and a general technique for finding what records a particular field is used in.

    A good place to start is the "ALEPH File Relationship Diagrams" document, available on the Doc Portal. It is by no means exhaustive, but does have some basic connections. In this case we see only the Z76-BUDGET-NUMBER and the Z601-BUDGET-NUMBER -- but it does remind me that the Z76 is indexed in the Z111. (More on that later.)

    The next --really the key-- place to check is the ./alephm/source/copy directory. (The "asm copy" command will take you there directly.)

    This "copy" directory is not encrypted, so this will work on your servers too. Once there, I did this:

    >grep -i budget Z*
    Z18: 03 Z18-BUDGET PICTURE X(50). S
    Z302: 02 Z302-BUDGET PICTURE X(50).
    Z303: 02 Z303-BUDGET PICTURE X(50).
    Z41: 02 Z41-S-BUDGET-NUMBER PICTURE X(50).
    Z41: 02 Z41-CR-BUDGET-NUMBER PICTURE X(50).
    Z601: 03 Z601-BUDGET-NUMBER PICTURE X(50).
    Z62: 01 Z62-BUDGET-PER. Z62: 02
    Z62-BUDGET-NUMBER PICTURE X(50).
    Z66: 02 Z66-BUDGET-PROXY PICTURE X(10).
    Z68: 03 Z68-SUBSCRIPTION-BUDGET-PERIOD PICTURE 9(1).
    Z76: 01 Z76-BUDGET. Z76: 02 Z76-BUDGET-NUMBER PICTURE X(50). K
    Z76: 02 Z76-PARENT-BUDGET-NUMBER PICTURE X(50). S
    Z76: 02 Z76-BUDGET-TYPE PICTURE X(5).
    Z76: 02 Z76-EXTERNAL-BUDGET PICTURE X(50). S

    The cases which interest us are those with 50 bytes, which is the length of the Z76-BUDGET-NUMBER. (If another record contains this field, the length of the field in that record is also going to be 50 bytes.)

    To see what each of the fields is, I consulted the "Znn" document for each. (Like the preceding document, they are available on the Documentation CD and also in the "/D" System Librarian Notebook, in this case, under the "Oracle Tables" tab). Most sites probably don't use these, but, to be thorough:

    Z18-BUDGET "Budget to which a routing list can be linked. At present, this is for information only; the budget will not actually be debited."
    Z303-BUDGET "Budget number of the patron. For information only."
    Z41-BUDGET-S "The budget against which the request should be debited. At present this field is non-functional, but may be used for reporting purposes."
    Z41-BUDGET-CR "Copyright budget. The budget against which the copyright fee portion of the request should be debited. At present this field is nonfunctional, but may be used for reporting purposes."
    Z62 "user’s budget authorizations".

    Note that besides the Z76-BUDGET-NUMBER the number can also be found in the Z76 as a Z76-PARENT-BUDGET-NUMBER.
    Note also that the Z602 {SUB-LIBRARY / ORDERING UNIT (for BUDGETS, VENDORS and USERS)} is not in this grep list --though there *can* be Z602 records for budgets. (The field in the Z602 record is called "Z602-KEY-TEXT".) This demonstrates the dangers/limitations to this method....

    The File Relationships document also reminded me that the Z76 is indexed in the z111 ADM keywords file. And that --assuming that you use the "budget keywords" function--, p_manage_111 will need to be run to regenerate the Z111 if an SQL change is made to the Z76-BUDGET-NUMBER. (If just a few records are being changed, you might resend them to the server individually after making the change. Then running manage_111 would not be necessary.)
    Also, the budget can be included in the Order index (z79), so the acq-04 service should be run to rebuild the z79.

    (keywords: p-manage-111 manage-111 manage_111 p_manage_111 budget numbers, rollover)

    Additional Information

    budget numbers, SQL, change, rollover

    Category: Acquisitions


    • Article last edited: 10/8/2013