Search code examples
universeunidatarocket

Rocket Universe & Unidata File


This is just for clarification, know exactly what a qpointer is but today in a meeting the concept of a dpointer was raised. Anyone know what a "D" pointer refers to? Never ever heard this term before.


Solution

  • This is a nice question because it helped me put together a couple of pieces I had rolling around in my head, so thanks for that!

    D's are dictionary items that refer to a logical location in the the data array and you have probably seen them a million times in the DICT of any given file.

    A D Item in the VOC servers the same purpose and is valid with any query. Lots of shops have some generics (F1, F2, F3, F4, F5, F6..etc) set up so you don't have to remember the dictionary name if you know what filed you want. I think the precedence for dictionary items is DICT File -> VOC but I could be wrong on that.

    As an example to illiterate this I went into HS.SALES and took one of the DICT items in the CUSTOMER table and wrote it to VOC after removing the conversion in field 3. I chose BUY_DATE because it had a conversion

    SORT CUSTOMER BUY_DATE 06:51:04am  10 Oct 2017  PAGE    1
    CUSTOMER..    Date Purchased
    
    1                   01/07/91
    10                  01/28/91
                        01/29/91
                        01/30/91
    

    Remove the conversion and save into the VOC.

    >ED DICT CUSTOMER BUY_DATE
    10 lines long.
    
    0001: D Date of purchase
    0002: 14
    0003: D2/
    0004: Date Purchased
    0005: 8R
    0006: M
    0007: ORDERS
    0008: INTEGER
    0009:
    0010:
    ----: 3
    0003: D2/
    ----: R
    0003:
    ----: SAVE VOC F14NOCON
    "F14NOCON" filed in file "VOC".
    ----: Q
    

    Now sort with new D type. Values are before the Y-1995 era when pick date were still 4 digits!

    SORT CUSTOMER F14NOCON 06:45:25am  10 Oct 2017  PAGE    1
    CUSTOMER..    Date Purchased
    
    1                       8408
    10                      8429
                            8430
                            8431
    

    Good Luck!