| Title: | FOCUS, from INFORMATION BUILDERS | 
| Moderator: | ZAYIUS::BROUILLETTE | 
| Created: | Thu Feb 19 1987 | 
| Last Modified: | Mon May 05 1997 | 
| Last Successful Update: | Fri Jun 06 1997 | 
| Number of topics: | 615 | 
| Total number of notes: | 1779 | 
    I am trying to write a subroutine which does a LIB$GET_SYMBOL using
    COBOL. I have compiled and linked into the fuselib procedures. This
    is a COBOL procedure which has worked on it's own before, but when
    invoking the subroutine via FOCUS, it returns nothing.
    
    I do a global symbol in DCL before even running focus.
    
    $request_id :== abcd1234
    
    The next reply will contain the cobol program and the fex which
    I am trying to use to produce the symbol in focus. If someone 
    sees anything obvious or knows what is needed to make this work,
    I would be eternally grateful.
    
    John
| T.R | Title | User | Personal Name | Date | Lines | 
|---|---|---|---|---|---|
| 528.1 | the cobol program for lib$get_symbol | MELEE::DBA | Tue Aug 18 1992 15:09 | 13 | |
| IDENTIFICATION DIVISION.
PROGRAM-ID. GETSYM.
DATA DIVISION.
WORKING-STORAGE SECTION.
LINKAGE SECTION.
01  SYMBOL_NAME		        PIC X(20).
01  SYMBOL_VALUE                PIC X(80).
PROCEDURE DIVISION USING SYMBOL_NAME, SYMBOL_VALUE.
BEGIN.
                CALL "LIB$GET_SYMBOL" USING
                        BY DESCRIPTOR SYMBOL_NAME
                        BY DESCRIPTOR SYMBOL_VALUE.
    
 | |||||
| 528.2 | the fex to execute | MELEE::DBA | Tue Aug 18 1992 15:10 | 2 | |
| -SET &VAL = GETSYM('REQUEST_ID','A80');
-TYPE &VAL
 | |||||
| 528.3 | EVTDD1::CARRIERE | Jean-Claude Carriere | Fri Aug 28 1992 12:07 | 15 | |
| Hello, I think you routine fails because the LIB$GET_SYMBOL routine requires an exact match, e.g. no trailing spaces. Here you have symbol_name declare as x(20) therefore the descriptor is pass as such. You should add one parameter to the GETSYM routine to pass the lenth of the SYMBOL_NAME and build the corresponding descriptor to call LIB$GET_SYMBOL Hope this help. Regards Jean-Claude. | |||||