#pragma module DBL_ORAGTWY "DBL_ORAGTWY-1-B" /* **++ ** FACILITY: DIBOL 2 ORACLE Server 7/8/9 gateway ** ** MODULE DESCRIPTION: ** ** This module contains interface routines to provide an ability to store/retrive data from ** ORACLE 7/8/9 tables. ** ** AUTHORS: ** ** Ruslan R. Laishev ** ** CREATION DATE: 5-MAR-2002 ** ** DESIGN ISSUES: ** ** This module use ORACLE/OCI facilities to provide an interface to ORACLE server, ** see also an ORACLE part of the interface in DBL_ORAGTWY.SQL. This module calls ORACLE SP ** from shema TESSCO. ** ** COMPILATION QUALIFIERS: ** ** see DESCRIP.MMS to get details ** ** ** MODIFICATION HISTORY: ** ** 20-JUL-2002 RRL Some cosmetic changes. ** {@tbs@}... **-- */ /* ** ** INCLUDE FILES ** */ #include #include #include #include #include #include "dbl_oragtwydef.h" /* ** ** ORACLE OCI INCLUDE FILES ** */ #include #include #ifdef __STDC__ #include #else #include #endif /* ** ** ORACLE OCI SPECIFIC DEFINITIONS ** */ #define NATIVE 1 #define VERSION_7 2 #define min(x,y) ((x > y)?y:x) #define max(x,y) ((x < y)?y:x) /* ** */ #define $OBNDRV_(cur,sqlv,progv,progvl,type) obndrv(cur,sqlv,sizeof(sqlv)-1,progv,progvl,type,-1,0,0,-1,-1) /* ** ** PL/SQL DECLARATION BLOCKS ** */ char *pls_blocks [] ={ /* ** item_* */ #define ITEM_CATLIST_OC 0 #define ITEM_CATLIST_CC 1 #define ITEM_CATLIST_FD 2 "begin tessco.dbl_oragtwy.item_catlist_oc(:sku,:sup); end;", "begin tessco.dbl_oragtwy.item_catlist_cc; end;", "begin tessco.dbl_oragtwy.item_catlist_fd(:short_name,:feature_name); end;", /* ** brand_* */ #define BRAND_CATLIST_OC 3 #define BRAND_CATLIST_CC 4 #define BRAND_CATLIST_FD 5 "begin tessco.dbl_oragtwy.brand_catlist_oc(:sku,:sup,:config); end;", "begin tessco.dbl_oragtwy.brand_catlist_cc; end;", "begin tessco.dbl_oragtwy.brand_catlist_fd(:short_name,:feature_name); end;", /* ** attlist_* */ #define ATTLIST_OC 6 #define ATTLIST_CC 7 #define ATTLIST_FD 8 "begin tessco.dbl_oragtwy.attlist_oc; end;", "begin tessco.dbl_oragtwy.attlist_cc; end;", "begin tessco.dbl_oragtwy.attlist_fd(:sku1,:sup1,:conf1,:type1,:sku2,:sup2,:conf2,:type2); end;", /* ** itemlist_* */ #define ITEMLIST_OC 9 #define ITEMLIST_CC 10 #define ITEMLIST_FD 11 "begin tessco.dbl_oragtwy.itemlist_oc(:legacy_seq); end;", "begin tessco.dbl_oragtwy.itemlist_cc; end;", "begin tessco.dbl_oragtwy.itemlist_fd(" ":ORAINSUP,:ORATYPE,:ORAITEM,:ORASEG2,:ORASEG3,:ORASHORT,:ORALONG,:ORAUOMWORD," ":ORAUOMQUANTITY,:ORACATEGORY,:ORACLASS,:ORAOLDITEM,:ORACONSIGNED,:ORABOM," ":ORABUILDTOORDER,:ORACPS,:ORAFORVEL,:ORASTATUS,:ORAMFG,:ORAMPN,:ORAMODEL,:ORASERIAL," ":ORASERLEN,:ORADDROP,:ORANEWSER,:ORAPRELOAD,:ORA2SERIAL,:ORA2LENGTH,:ORAWEIGHT," ":ORASHIPMETH,:ORASELLTERR,:ORASOURCE,:ORACURA,:ORANEWA,:ORAVENCOST,:ORAFUTVEN," ":ORABUY,:ORAVENDOR,:ORAVPN,:ORACASE,:ORASTORAGE,:ORAFREIGHT,:ORABUNDLE,:ORAORIGIN," ":ORAHARM1,:ORAHARM2,:ORAHARM3,:ORAPREF,:ORALABELED,:ORAHEIGHT,:ORAWIDTH,:ORALENGTH," ":ORABARCODE,:ORARENO,:ORAFIFODAYS,:ORAFIFO,:ORACONFIGURED,:ORAOWNBOX,:ORASTOCK03," ":ORASTOCK04,:ORASTOCK05,:ORASTOCK06,:ORASTOCK07,:ORACONSIGNFEE,:ORASORT1,:ORASORT2," ":ORABGINCLUDE,:ORACURBG,:ORANEXTBG,:ORAPREVBG,:ORAGROUP,:ORASUB," ":ORAMAXPERCUS,:ORACURRENCY,:ORASEQ,:ORAUDIT,:ORAVAILABLE,:ORAFUTDATE,:ORAINPUTDATE," ":ORAFORAUTOBUY,:ORAFORBLOWOUT03,:ORAFORBLOWOUT04,:ORAFORBLOWOUT05,:ORAFORBLOWOUT06," ":ORAFORBLOWOUT07);" " end;", /* ** ora_* */ #define ORA_CTC 12 #define ORA_RTC 13 "begin tessco.dbl_oragtwy.ora_ctc; end;", "begin tessco.dbl_oragtwy.ora_rtc; end;", /* ** hazmatlist_* */ #define HAZMATLIST_OC 14 #define HAZMATLIST_CC 15 #define HAZMATLIST_FD 16 "begin tessco.dbl_oragtwy.hazmatlist_oc(:feature_name); end;", "begin tessco.dbl_oragtwy.hazmatlist_cc; end;", "begin tessco.dbl_oragtwy.hazmatlist_fd(:yoro,:sku,:sup); end;", /* ** sublist_* */ #define SUBLIST_OC 17 #define SUBLIST_CC 18 #define SUBLIST_FD 19 "begin tessco.dbl_oragtwy.sublist_oc; end;", "begin tessco.dbl_oragtwy.sublist_cc; end;", "begin tessco.dbl_oragtwy.sublist_fd(:sku1,:sup1,:conf1,:type1,:sku2,:sup2,:conf2,:type2,:flag); end;", /* ** item_sublist_ */ #define ITEM_SUBLIST_OC 20 #define ITEM_SUBLIST_CC 21 #define ITEM_SUBLIST_FD 22 "begin tessco.dbl_oragtwy.item_sublist_oc(:subsku,:subsup); end;", "begin tessco.dbl_oragtwy.item_sublist_cc; end;", "begin tessco.dbl_oragtwy.item_sublist_fd(:sku1,:sup1,:type1,:sku2,:sup2,:type2); end;", /* ** get_oracle_sku */ #define GET_ORACLE_SKU 23 "begin SELECT NVL(INSERT_UPDATE,' ')," "NVL(ITEM_TYPE,' ')," "NVL(SKU,' ')," "NVL(SUPPLIER_CODE,' ')," "NVL(CONFIGURATION,' ')," "NVL(SHORT_DESCRIPTION,' ')," "NVL(LONG_DESCRIPTION,' ')," "NVL(LEGACY_UOM,'EACH')," "NVL(LEGACY_UOM_QUANTITY,0)," "NVL(CATEGORY_CODE,' ')," "NVL(LEGACY_CLASS,' ')," "NVL(ALT_SKU_NUMBER,' ')," "NVL(CONSIGNED_ITEM,'N')," "NVL(BOM,'N')," "NVL(BUILD_TO_ORDER,'N')," "NVL(TRACKED_IN_CPS,'N')," "NVL(FORCE_VELOCITY_CODE,' ')," "NVL(STATUS_CODE,'A')," "NVL(MANUFACTURE_CODE,' ')," "NVL(MANUFACTURE_PART_NUMBER,' ')," "NVL(MANUFACTURE_MODEL_NUMBER,' ')," "NVL(SERIAL_NUMBER_REQUIRED,'N')," "NVL(MAIN_SERIAL_NUMBER_LENGTH,0)," "NVL(ADD_OR_DROP_CHAR_SCAN,' ')," "NVL(HOLD_NEW_SERIAL_NUMBERS,'N')," "NVL(PRELOAD_SERIAL_NUMBER,'N')," "NVL(SECOND_SERIAL_NUMBER_REQUIRED,'N')," "NVL(SECOND_SERIAL_NUMBER_LENGTH,0)," "NVL(WEIGHT,0)," "NVL(SHIP_METHOD,'U')," "NVL(TERRITORIAL_RESTRICTIONS,' ')," "NVL(SELLING_RESTRICTION_CODE,' ')," "NVL(CURRENT_A,0)," "NVL(NEW_A,0)," "NVL(VENDOR_CURRENT_COST,0)," "NVL(VENDOR_FUTURE_COST,0)," "NVL(BUY,'Y')," "NVL(VENDOR_CODE,' ')," "NVL(VENDOR_PART_NUMBER,' ')," "NVL(CASE_MULTIPLE,1)," "NVL(TYPE_OF_STORAGE,'C')," "NVL(FREIGHT_SHIPPING_CODE,' ')," "NVL(BUNDLING_QTY_SHIPPING,1)," "NVL(COUNTRY_OF_ORIGIN_ID,' ')," "NVL(HARM_CODE_1,0)," "NVL(HARM_CODE_2,0)," "NVL(HARM_CODE_3,0)," "NVL(PREF_CRITERIA,' ')," "NVL(LABELED,'Y')," "NVL(SHIP_HEIGHT,0)," "NVL(SHIP_WIDTH,0)," "NVL(SHIP_LENGTH,0)," "NVL(BARCODE,' ')," "NVL(RENO_STOCKING_FLAG,'N')," "NVL(MAX_DAYS_IN_ONE_LOC_FIFO,0)," "NVL(FIFO_STOCKING,'N')," "NVL(CONFIGURED_ITEM,'N')," "NVL(SHIP_IN_OWN_BOX,'Y')," "NVL(STOCKED_AT_03,'Y')," "NVL(STOCKED_AT_04,'N')," "NVL(STOCKED_AT_05,'N')," "NVL(STOCKED_AT_06,'N')," "NVL(STOCKED_AT_07,'N')," "NVL(CONSIGNED_DELIVERY_FEE,0)," "NVL(FIRST_SORT,' ')," "NVL(SECOND_SORT,' ')," "NVL(INCLUDE_IN_CURRENT_BG,'Y')," "NVL(CURRENT_BG_PAGE,0)," "NVL(NEXT_BG_PAGE,0)," "NVL(PREVIOUS_BG_PAGE,0)," "NVL(LEGACY_GROUP_NUMBER,' ')," "NVL(LEGACY_SUBGROUP_NUMBER,' ')," "NVL(MAX_PER_CUSTOMER,0)," "NVL(CURRENCY,'US')," "TXN_SN," "TO_CHAR(NVL(LAST_SIZE_AND_WEIGHT_AUDIT,TO_DATE('19800101','YYYYMMDD')),'YYYYMMDD')," "TO_CHAR(NVL(AVAILABLE_DATE,TO_DATE('19800101','YYYYMMDD')),'YYYYMMDD')," "TO_CHAR(NVL(VEND_FUT_COST_EFFECT_DATE,TO_DATE('19800101','YYYYMMDD')),'YYYYMMDD')," "TO_CHAR(NVL(CREATION_DATE,TO_DATE('19800101','YYYYMMDD')),'YYYYMMDD')," "NVL(FORCED_AUTOBUY,' ')," "NVL(FORCED_BLOWOUT_03,0)," "NVL(FORCED_BLOWOUT_04,0)," "NVL(FORCED_BLOWOUT_05,0)," "NVL(FORCED_BLOWOUT_06,0)," "NVL(FORCED_BLOWOUT_07,0)" "INTO" ":ORAINSUP,:ORATYPE,:ORAITEM,:ORASEG2,:ORASEG3,:ORASHORT,:ORALONG,:ORAUOMWORD," ":ORAUOMQUANTITY,:ORACATEGORY,:ORACLASS,:ORAOLDITEM,:ORACONSIGNED,:ORABOM," ":ORABUILDTOORDER,:ORACPS,:ORAFORVEL,:ORASTATUS,:ORAMFG,:ORAMPN,:ORAMODEL,:ORASERIAL," ":ORASERLEN,:ORADDROP,:ORANEWSER,:ORAPRELOAD,:ORA2SERIAL,:ORA2LENGTH,:ORAWEIGHT," ":ORASHIPMETH,:ORASELLTERR,:ORASOURCE,:ORACURA,:ORANEWA,:ORAVENCOST,:ORAFUTVEN," ":ORABUY,:ORAVENDOR,:ORAVPN,:ORACASE,:ORASTORAGE,:ORAFREIGHT,:ORABUNDLE,:ORAORIGIN," ":ORAHARM1,:ORAHARM2,:ORAHARM3,:ORAPREF,:ORALABELED,:ORAHEIGHT,:ORAWIDTH,:ORALENGTH," ":ORABARCODE,:ORARENO,:ORAFIFODAYS,:ORAFIFO,:ORACONFIGURED,:ORAOWNBOX,:ORASTOCK03," ":ORASTOCK04,:ORASTOCK05,:ORASTOCK06,:ORASTOCK07,:ORACONSIGNFEE,:ORASORT1,:ORASORT2," ":ORABGINCLUDE,:ORACURBG,:ORANEXTBG,:ORAPREVBG,:ORAGROUP,:ORASUB," ":ORAMAXPERCUS,:ORACURRENCY,:ORASEQ,:ORAUDIT,:ORAVAILABLE,:ORAFUTDATE,:ORAINPUTDATE," ":ORAFORAUTOBUY,:ORAFORBLOWOUT03,:ORAFORBLOWOUT04,:ORAFORBLOWOUT05,:ORAFORBLOWOUT06," ":ORAFORBLOWOUT07" "FROM tessco_item_master_oesv" "WHERE tessco_item_master_oesv.sku = sku AND supplier_code = sup;" " end;", NULL}; #define PLS_MAX (sizeof(pls_blocks)/sizeof(pls_blocks[0])) /* ** CURSORS DATA AREA, ONE CDA FOR ONE PL/SQL BLOCK */ Cda_Def cda[PLS_MAX],*lastcdap; /* ** DBL_ORAGTWY's INTERNAL CONTEXT STRUCTURE */ Lda_Def lda; char hda[512]; /* **++ ** FUNCTIONAL DESCRIPTION: ** ** An DBL_ORAGTWY initialization routine, it performs: ** - ORACLE session opening ** - Allocate memory and initialzing of OCI structures ** - preparse PL/SQL blocks for a future use ** ** This routine must me called before calling any other routines from this module! ** ** FORMAL PARAMETERS: ** ** oracons: An ORACLE connection string in form "username/password@instance..." ** ** RETURN VALUE: ** ** ORACLE OCI Error code ** **-- */ int dbl_oragtwy$init ( struct dsc$descriptor *oracons ) { int status,i; /* ** Open session with ORACLE Server by using a given ** ORACLE connection string */ if ( status = olog(&lda, hda, oracons->dsc$a_pointer,oracons->dsc$w_length, NULL,0,0,0, OCI_LM_DEF) ) return status; /* ** Performs an PL/SQL blocks preparsing */ for (i = 0;pls_blocks[i];i++) { lastcdap = &cda[i]; /* ** Open context data area (cursor) , parse SQL statement */ if ( (status = oopen(lastcdap, &lda,NULL, -1, -1,NULL, -1)) || (status = oparse(lastcdap,pls_blocks[i],-1,0,VERSION_7)) ) break; } return status; } /* **++ ** FUNCTIONAL DESCRIPTION: ** ** A DBL_ORAGTWY shutdown routine, it closes all opened/parsed ORACLE cursors and session ** with ORACLE. ** ** FORMAL PARAMETERS: ** ** None ** ** RETURN VALUE: ** ** ORACLE OCI Error code ** **-- */ int dbl_oragtwy$shut (void) { /* ** Close all cursor data areas */ for (int i = 0;pls_blocks[i];i++) oclose(&cda[i]); /* ** Close an ORACLE session */ return ologof(&lda); } /* **++ ** FUNCTIONAL DESCRIPTION: ** ** Translates the SQL code to text message. This routine must be not called after ** dbl_oragtwy$init() and dbl_oragtwy$shut() routines! ** ** FORMAL PARAMETERS: ** ** oramsg: buffer to place an ORACLE error message ** retlen: a returned length of extracted message ** ** ** RETURN VALUE: ** ** ORACLE SQLCODE code ** **-- */ int dbl_oragtwy$getoramsg ( struct dsc$descriptor *oramsg, short *retlen ) { int status; char buf[1024]; short buflen; /* ** Translate a SQLCODE from the last used cursor to text */ buflen = oerhms(&lda,lastcdap->rc, buf, sizeof(buf)); /* ** Copy gottent string to destination */ if ( !(1 & (status = str$copy_r(oramsg,&buflen,buf))) ) lib$signal(status); *retlen = buflen; /* ** Return ORACLE SQLCODE */ return lastcdap->rc; } /* **++ ** FUNCTIONAL DESCRIPTION: ** ** Open a ITEM_CATLIST cursor. ** ** FORMAL PARAMETERS: ** ** sku: a SKU string pointer ** skulen: a length of the SKU string ** spu: a SKU string pointer ** spulen: a length of the SKU string ** ** RETURN VALUE: ** ** ORACLE OCI error code ** **-- */ int dbl_oragtwy$item_catlist_oc ( char *sku, short skulen, char *sup, short suplen ) { int status; lastcdap = &cda[ITEM_CATLIST_OC]; /* ** Bind given variables to placeholders in the PL/SQL block */ status = $OBNDRV_(lastcdap,":sku",sku,skulen,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":sup",sup,suplen,SQLT_CHR); /* ** Execute an ORACLE SP */ return status?status:oexec(lastcdap); } /* **++ ** FUNCTIONAL DESCRIPTION: ** ** Close a ITEM_CATLIST cursor. ** ** FORMAL PARAMETERS: ** ** None. ** ** RETURN VALUE: ** ** ORACLE OCI error code ** **-- */ int dbl_oragtwy$item_catlist_cc (void) { lastcdap = &cda[ITEM_CATLIST_CC]; /* ** Execute an ORACLE SP */ return oexec(lastcdap); } /* **++ ** FUNCTIONAL DESCRIPTION: ** ** Fetch data from ITEM_CATLIST cursor by calling an ORACLE ITEM_CATLIST() strored ** procedure. Returned strings are padded by spaces to end of a buffer. ** ** FORMAL PARAMETERS: ** ** short_name: a pointer to buffer to store short_name value ** short_name_len: a size of the buffer to store short_name value ** feature_name: a pointer to buffer to store feature_name value ** feature_name_len: a size of the buffer to store feature_name value ** ** RETURN VALUE: ** ** ORACLE OCI error code ** **-- */ int dbl_oragtwy$item_catlist_fd ( char *short_name, short short_name_len, char *feature_name, short feature_name_len ) { int status; lastcdap = &cda[ITEM_CATLIST_FD]; /* ** Bind given variables to placeholders in the PL/SQL block */ status = $OBNDRV_(lastcdap,":short_name",short_name,short_name_len,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":feature_name",feature_name,feature_name_len,SQLT_CHR); /* ** Execute an ORACLE SP */ return status?status:oexec(lastcdap); } /* **++ ** FUNCTIONAL DESCRIPTION: ** ** Open a BRAND_CATLIST cursor. ** ** FORMAL PARAMETERS: ** ** sku: a SKU string pointer ** skulen: a length of the SKU string ** spu: a SKU string pointer ** spulen: a length of the SKU string ** config: a CONFIG string pointer ** config: a length of the CONFIG string ** ** ** RETURN VALUE: ** ** ORACLE OCI error code ** **-- */ int dbl_oragtwy$brand_catlist_oc ( char *sku, short skulen, char *sup, short suplen, char *config, short configlen ) { int status; lastcdap = &cda[BRAND_CATLIST_OC]; /* ** Bind given variables to placeholders in the PL/SQL block */ status = $OBNDRV_(lastcdap,":sku",sku,skulen,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":sup",sup,suplen,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":config",config,configlen,SQLT_CHR); /* ** Execute an ORACLE SP */ return status?status:oexec(lastcdap); } /* **++ ** FUNCTIONAL DESCRIPTION: ** ** Close a BRAND_CATLIST cursor. ** ** FORMAL PARAMETERS: ** ** None. ** ** ** RETURN VALUE: ** ** ORACLE OCI error code ** **-- */ int dbl_oragtwy$brand_catlist_cc (void) { lastcdap = &cda[BRAND_CATLIST_CC]; /* ** Execute an ORACLE SP */ return oexec(lastcdap); } /* **++ ** FUNCTIONAL DESCRIPTION: ** ** Fetch data from BRAND_CATLIST cursor by calling an BRAND_CATLIST() stored ** procedure. Returned strings are padded by spaces to end of a buffer. ** ** ** FORMAL PARAMETERS: ** ** short_name: a pointer to buffer to store short_name value ** short_name_len: a size of the buffer to store short_name value ** feature_name: a pointer to buffer to store feature_name value ** feature_name_len: a size of the buffer to store feature_name value ** ** ** RETURN VALUE: ** ** ORACLE OCI error code ** **-- */ int dbl_oragtwy$brand_catlist_fd ( char *short_name, short short_name_len, char *feature_name, short feature_name_len ) { int status; lastcdap = &cda[BRAND_CATLIST_FD]; /* ** Bind given variables to placeholders in the PL/SQL block */ status = $OBNDRV_(lastcdap,":short_name",short_name,short_name_len,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":feature_name",feature_name,feature_name_len,SQLT_CHR); /* ** Execute an ORACLE SP */ return status?status:oexec(lastcdap); } /* **++ ** FUNCTIONAL DESCRIPTION: ** ** Open an ATTLIST cursor. ** ** FORMAL PARAMETERS: ** ** None. ** ** RETURN VALUE: ** ** ORACLE OCI error code ** **-- */ int dbl_oragtwy$attlist_oc (void) { lastcdap = &cda[ATTLIST_OC]; /* ** Execute an ORACLE SP */ return oexec(lastcdap); } /* **++ ** FUNCTIONAL DESCRIPTION: ** ** Close ATTLIST cursor. ** ** FORMAL PARAMETERS: ** ** None. ** ** RETURN VALUE: ** ** ORACLE OCI error code ** **-- */ int dbl_oragtwy$attlist_cc (void) { lastcdap = &cda[ATTLIST_CC]; /* ** Execute an ORACLE SP */ return oexec(lastcdap); } /* **++ ** FUNCTIONAL DESCRIPTION: ** ** Fetch data from ATTLIST cursor by calling an ORACLE SP ATTLIST_FD(). ** ** FORMAL PARAMETERS: ** ** sku1: a SKU1 string pointer ** sku1len: a length of the SKU1 string ** sup1: a SUP1 string pointer ** sup1len: a length of the SUP1 string ** conf1: a CONF1 string pointer ** conf1len: a length of the CONF1 string ** type1: a TYPE1 string pointer ** type1len: a length of the TYPE1 string ** sku2: a SKU2 string pointer ** sku2len: a length of the SKU2 string ** sup2: a SUP2 string pointer ** sup2len: a length of the SUP2 string ** conf2: a CONF2 string pointer ** conf2len: a length of the CONF2 string ** type2: a TYPE2 string pointer ** type2len: a length of the TYPE2 string ** ** RETURN VALUE: ** ** ORACLE OCI error code ** **-- */ int dbl_oragtwy$attlist_fd ( char *sku1, short sku1len, char *sup1, short sup1len, char *conf1, short conf1len, char *type1, short type1len, char *sku2, short sku2len, char *sup2, short sup2len, char *conf2, short conf2len, char *type2, short type2len ) { int status; lastcdap = &cda[ATTLIST_FD]; /* ** Bind given variables to placeholders in the PL/SQL block */ status = $OBNDRV_(lastcdap,":sku1",sku1,sku1len,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":sup1",sup1,sup1len,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":conf1",conf1,conf1,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":type1",type1,type1,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":sku2",sku2,sku2len,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":sup2",sup2,sup2len,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":conf2",conf2,conf2,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":type2",type2,type2,SQLT_CHR); /* ** Execute an ORACLE SP */ return status?status:oexec(lastcdap); } /* **++ ** FUNCTIONAL DESCRIPTION: ** ** A set of hazmatlist_* routines. ** ** FORMAL PARAMETERS: ** ** {tbs} ** ** RETURN VALUE: ** ** ORACLE OCI error code ** **-- */ int dbl_oragtwy$hazmatlist_oc ( char *feature_name, short feature_name_len ) { int status; lastcdap = &cda[HAZMATLIST_OC]; /* ** Bind given variables to placeholders in the PL/SQL block */ status = $OBNDRV_(lastcdap,":feature_name",feature_name,feature_name_len,SQLT_CHR); /* ** Execute an ORACLE SP */ return status?status:oexec(lastcdap); } int dbl_oragtwy$hazmatlist_cc (void) { lastcdap = &cda[HAZMATLIST_CC]; /* ** Execute an ORACLE SP */ return oexec(lastcdap); } int dbl_oragtwy$hazmatlist_fd ( char *yoro, short yorolen, char *sku, short skulen, char *sup, short suplen ) { int status; lastcdap = &cda[HAZMATLIST_FD]; /* ** Bind given variables to placeholders in the PL/SQL block */ status = $OBNDRV_(lastcdap,":yoro",yoro,yorolen,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":sku",sku,sku,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":sup",sup,sup,SQLT_CHR); /* ** Execute an ORACLE SP */ return status?status:oexec(lastcdap); } /* **++ ** FUNCTIONAL DESCRIPTION: ** ** A set of sublist_* routines. ** ** FORMAL PARAMETERS: ** ** {tbs} ** ** RETURN VALUE: ** ** ORACLE OCI error code ** **-- */ int dbl_oragtwy$sublist_oc (void) { lastcdap = &cda[SUBLIST_OC]; /* ** Execute an ORACLE SP */ return oexec(lastcdap); } int dbl_oragtwy$sublist_cc (void) { lastcdap = &cda[SUBLIST_CC]; /* ** Execute an ORACLE SP */ return oexec(lastcdap); } int dbl_oragtwy$sublist_fd ( char *sku1, short sku1len, char *sup1, short sup1len, char *conf1, short conf1len, char *type1, short type1len, char *sku2, short sku2len, char *sup2, short sup2len, char *conf2, short conf2len, char *type2, short type2len, char *flag, short flaglen ) { int status; lastcdap = &cda[SUBLIST_FD]; /* ** Bind given variables to placeholders in the PL/SQL block */ status = $OBNDRV_(lastcdap,":sku1",sku1,sku1len,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":sup1",sup1,sup1len,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":conf1",conf1,conf1,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":type1",type1,type1,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":sku2",sku2,sku2len,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":sup2",sup2,sup2len,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":conf2",conf2,conf2len,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":type2",type2,type2len,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":flag",flag,flaglen,SQLT_CHR); /* ** Execute an ORACLE SP */ return status?status:oexec(lastcdap); } /* **++ ** FUNCTIONAL DESCRIPTION: ** ** A set of item_sublist_* routines. ** ** FORMAL PARAMETERS: ** ** {tbs} ** ** RETURN VALUE: ** ** ORACLE OCI error code ** **-- */ int dbl_oragtwy$item_sublist_oc ( char *subsku, short subskulen, char *subsup, short subsuplen ) { int status; lastcdap = &cda[ITEM_SUBLIST_OC]; /* ** Bind given variables to placeholders in the PL/SQL block */ status = $OBNDRV_(lastcdap,":subsku",subsku,subskulen,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":subsup",subsup,subsuplen,SQLT_CHR); /* ** Execute an ORACLE SP */ return status?status:oexec(lastcdap); } int dbl_oragtwy$item_sublist_cc (void) { lastcdap = &cda[ITEM_SUBLIST_CC]; /* ** Execute an ORACLE SP */ return oexec(lastcdap); } int dbl_oragtwy$item_sublist_fd ( char *sku1, short sku1len, char *sup1, short sup1len, char *type1, short type1len, char *sku2, short sku2len, char *sup2, short sup2len, char *type2, short type2len ) { int status; lastcdap = &cda[ITEM_SUBLIST_FD]; /* ** Bind given variables to placeholders in the PL/SQL block */ status = $OBNDRV_(lastcdap,":sku1",sku1,sku1len,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":sup1",sup1,sup1len,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":type1",type1,type1,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":sku2",sku2,sku2len,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":sup2",sup2,sup2len,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":type2",type2,type2,SQLT_CHR); /* ** Execute an ORACLE SP */ return status?status:oexec(lastcdap); } /* **++ ** FUNCTIONAL DESCRIPTION: ** ** A set of ora_* routines. ** ** FORMAL PARAMETERS: ** ** {tbs} ** ** RETURN VALUE: ** ** ORACLE OCI error code ** **-- */ int dbl_oragtwy$ora_rtc (void) { lastcdap = &cda[ORA_RTC]; /* ** Execute an ORACLE SP */ return oexec(&cda[ORA_RTC]); } int dbl_oragtwy$ora_ctc (void) { lastcdap = &cda[ORA_CTC]; /* ** Execute an ORACLE SP */ return oexec(&cda[ORA_CTC]); } /* **++ ** FUNCTIONAL DESCRIPTION: ** ** A get_oracle_sku routine. ** ** FORMAL PARAMETERS: ** ** {tbs} ** ** RETURN VALUE: ** ** ORACLE OCI error code ** **-- */ int dbl_oragtwy$get_oracle_sku ( char *sku, short skulen, char *sup, short suplen, struct ora_rec *ora ) { int status; lastcdap = &cda[GET_ORACLE_SKU]; /* ** Bind given variables to placeholders in the PL/SQL block */ status = $OBNDRV_(lastcdap,":sku",sku,skulen,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":sup",sup,suplen,SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAINSUP",&ora->ORAINSUP,sizeof(ora->ORAINSUP),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORATYPE",&ora->ORATYPE,sizeof(ora->ORATYPE),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAITEM",&ora->ORAITEM,sizeof(ora->ORAITEM),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASEG2",&ora->ORASEG2,sizeof(ora->ORASEG2),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASEG3",&ora->ORASEG3,sizeof(ora->ORASEG3),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASHORT",&ora->ORASHORT,sizeof(ora->ORASHORT),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORALONG",&ora->ORALONG,sizeof(ora->ORALONG),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAUOMWORD",&ora->ORAUOMWORD,sizeof(ora->ORAUOMWORD),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAUOMQUANTITY",&ora->ORAUOMQUANTITY,sizeof(ora->ORAUOMQUANTITY),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORACATEGORY",&ora->ORACATEGORY,sizeof(ora->ORACATEGORY),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORACLASS",&ora->ORACLASS,sizeof(ora->ORACLASS),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAOLDITEM",&ora->ORAOLDITEM,sizeof(ora->ORAOLDITEM),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORACONSIGNED",&ora->ORACONSIGNED,sizeof(ora->ORACONSIGNED),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORABOM",&ora->ORABOM,sizeof(ora->ORABOM),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORABUILDTOORDER",&ora->ORABUILDTOORDER,sizeof(ora->ORABUILDTOORDER),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORACPS",&ora->ORACPS,sizeof(ora->ORACPS),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAFORVEL",&ora->ORAFORVEL,sizeof(ora->ORAFORVEL),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASTATUS",&ora->ORASTATUS,sizeof(ora->ORASTATUS),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAMFG",&ora->ORAMFG,sizeof(ora->ORAMFG),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAMPN",&ora->ORAMPN,sizeof(ora->ORAMPN),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAMODEL",&ora->ORAMODEL,sizeof(ora->ORAMODEL),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASERIAL",&ora->ORASERIAL,sizeof(ora->ORASERIAL),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASERLEN",&ora->ORASERLEN,sizeof(ora->ORASERLEN),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORADDROP",&ora->ORADDROP,sizeof(ora->ORADDROP),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORANEWSER",&ora->ORANEWSER,sizeof(ora->ORANEWSER),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAPRELOAD",&ora->ORAPRELOAD,sizeof(ora->ORAPRELOAD),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORA2SERIAL",&ora->ORA2SERIAL,sizeof(ora->ORA2SERIAL),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORA2LENGTH",&ora->ORA2LENGTH,sizeof(ora->ORA2LENGTH),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAWEIGHT",&ora->ORAWEIGHT,sizeof(ora->ORAWEIGHT),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORASHIPMETH",&ora->ORASHIPMETH,sizeof(ora->ORASHIPMETH),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASELLTERR",&ora->ORASELLTERR,sizeof(ora->ORASELLTERR),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASOURCE",&ora->ORASOURCE,sizeof(ora->ORASOURCE),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORACURA",&ora->ORACURA,sizeof(ora->ORACURA),SQLT_FLT); status = status?status:$OBNDRV_(lastcdap,":ORANEWA",&ora->ORANEWA,sizeof(ora->ORANEWA),SQLT_FLT); status = status?status:$OBNDRV_(lastcdap,":ORAVENCOST",&ora->ORAVENCOST,sizeof(ora->ORAVENCOST),SQLT_FLT); status = status?status:$OBNDRV_(lastcdap,":ORAFUTVEN",&ora->ORAFUTVEN,sizeof(ora->ORAFUTVEN),SQLT_FLT); status = status?status:$OBNDRV_(lastcdap,":ORABUY",&ora->ORABUY,sizeof(ora->ORABUY),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAVENDOR",&ora->ORAVENDOR,sizeof(ora->ORAVENDOR),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAVPN",&ora->ORAVPN,sizeof(ora->ORAVPN),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORACASE",&ora->ORACASE,sizeof(ora->ORACASE),SQLT_FLT); status = status?status:$OBNDRV_(lastcdap,":ORASTORAGE",&ora->ORASTORAGE,sizeof(ora->ORASTORAGE),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAFREIGHT",&ora->ORAFREIGHT,sizeof(ora->ORAFREIGHT),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORABUNDLE",&ora->ORABUNDLE,sizeof(ora->ORABUNDLE),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAORIGIN",&ora->ORAORIGIN,sizeof(ora->ORAORIGIN),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAHARM1",&ora->ORAHARM1,sizeof(ora->ORAHARM1),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAHARM2",&ora->ORAHARM2,sizeof(ora->ORAHARM2),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAHARM3",&ora->ORAHARM3,sizeof(ora->ORAHARM3),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAPREF",&ora->ORAPREF,sizeof(ora->ORAPREF),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORALABELED",&ora->ORALABELED,sizeof(ora->ORALABELED),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAHEIGHT",&ora->ORAHEIGHT,sizeof(ora->ORAHEIGHT),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAWIDTH",&ora->ORAWIDTH,sizeof(ora->ORAWIDTH),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORALENGTH",&ora->ORALENGTH,sizeof(ora->ORALENGTH),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORABARCODE",&ora->ORABARCODE,sizeof(ora->ORABARCODE),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORARENO",&ora->ORARENO,sizeof(ora->ORARENO),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAFIFODAYS",&ora->ORAFIFODAYS,sizeof(ora->ORAFIFODAYS),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAFIFO",&ora->ORAFIFO,sizeof(ora->ORAFIFO),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORACONFIGURED",&ora->ORACONFIGURED,sizeof(ora->ORACONFIGURED),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAOWNBOX",&ora->ORAOWNBOX,sizeof(ora->ORAOWNBOX),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASTOCK03",&ora->ORASTOCK03,sizeof(ora->ORASTOCK03),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASTOCK04",&ora->ORASTOCK04,sizeof(ora->ORASTOCK04),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASTOCK05",&ora->ORASTOCK05,sizeof(ora->ORASTOCK05),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASTOCK06",&ora->ORASTOCK06,sizeof(ora->ORASTOCK06),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASTOCK07",&ora->ORASTOCK07,sizeof(ora->ORASTOCK07),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORACONSIGNFEE",&ora->ORACONSIGNFEE,sizeof(ora->ORACONSIGNFEE),SQLT_FLT); status = status?status:$OBNDRV_(lastcdap,":ORASORT1",&ora->ORASORT1,sizeof(ora->ORASORT1),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASORT2",&ora->ORASORT2,sizeof(ora->ORASORT2),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORABGINCLUDE",&ora->ORABGINCLUDE,sizeof(ora->ORABGINCLUDE),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORACURBG",&ora->ORACURBG,sizeof(ora->ORACURBG),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORANEXTBG",&ora->ORANEXTBG,sizeof(ora->ORANEXTBG),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAPREVBG",&ora->ORAPREVBG,sizeof(ora->ORAPREVBG),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAGROUP",&ora->ORAGROUP,sizeof(ora->ORAGROUP),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASUB",&ora->ORASUB,sizeof(ora->ORASUB),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAMAXPERCUS",&ora->ORAMAXPERCUS,sizeof(ora->ORAMAXPERCUS),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORACURRENCY",&ora->ORACURRENCY,sizeof(ora->ORACURRENCY),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASEQ",&ora->ORASEQ,sizeof(ora->ORASEQ),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAUDIT",&ora->ORAUDIT,sizeof(ora->ORAUDIT),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAVAILABLE",&ora->ORAVAILABLE,sizeof(ora->ORAVAILABLE),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAFUTDATE",&ora->ORAFUTDATE,sizeof(ora->ORAFUTDATE),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAINPUTDATE",&ora->ORAINPUTDATE,sizeof(ora->ORAINPUTDATE),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAFORAUTOBUY",&ora->ORAFORAUTOBUY,sizeof(ora->ORAFORAUTOBUY),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAFORBLOWOUT03",&ora->ORAFORBLOWOUT03,sizeof(ora->ORAFORBLOWOUT03),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAFORBLOWOUT04",&ora->ORAFORBLOWOUT04,sizeof(ora->ORAFORBLOWOUT04),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAFORBLOWOUT05",&ora->ORAFORBLOWOUT05,sizeof(ora->ORAFORBLOWOUT05),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAFORBLOWOUT06",&ora->ORAFORBLOWOUT06,sizeof(ora->ORAFORBLOWOUT06),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAFORBLOWOUT07",&ora->ORAFORBLOWOUT07,sizeof(ora->ORAFORBLOWOUT07),SQLT_INT); /* ** Execute an ORACLE SP */ // return status?status:oexec(lastcdap); return status?status:oexfet(lastcdap,1,0,0); } /* **++ ** FUNCTIONAL DESCRIPTION: ** ** A set of itemlist_* routines. ** ** FORMAL PARAMETERS: ** ** {tbs} ** ** RETURN VALUE: ** ** ORACLE OCI error code ** **-- */ int dbl_oragtwy$itemlist_oc ( unsigned legacy_seq ) { int status; lastcdap = &cda[ITEMLIST_OC]; /* ** Bind given variables to placeholders in the PL/SQL block */ status = $OBNDRV_(lastcdap,":legacy_seq",&legacy_seq,sizeof(legacy_seq),SQLT_INT); /* ** Execute an ORACLE SP */ return status?status:oexec(lastcdap); } int dbl_oragtwy$itemlist_cc (void) { lastcdap = &cda[ITEMLIST_CC]; /* ** Execute an ORACLE SP */ return oexec(lastcdap); } int dbl_oragtwy$itemlist_fd ( struct ora_rec *ora ) { int status; lastcdap = &cda[ITEMLIST_FD]; /* ** Bind given variables to placeholders in the PL/SQL block */ status = $OBNDRV_(lastcdap,":ORAINSUP",&ora->ORAINSUP,sizeof(ora->ORAINSUP),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORATYPE",&ora->ORATYPE,sizeof(ora->ORATYPE),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAITEM",&ora->ORAITEM,sizeof(ora->ORAITEM),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASEG2",&ora->ORASEG2,sizeof(ora->ORASEG2),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASEG3",&ora->ORASEG3,sizeof(ora->ORASEG3),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASHORT",&ora->ORASHORT,sizeof(ora->ORASHORT),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORALONG",&ora->ORALONG,sizeof(ora->ORALONG),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAUOMWORD",&ora->ORAUOMWORD,sizeof(ora->ORAUOMWORD),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAUOMQUANTITY",&ora->ORAUOMQUANTITY,sizeof(ora->ORAUOMQUANTITY),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORACATEGORY",&ora->ORACATEGORY,sizeof(ora->ORACATEGORY),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORACLASS",&ora->ORACLASS,sizeof(ora->ORACLASS),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAOLDITEM",&ora->ORAOLDITEM,sizeof(ora->ORAOLDITEM),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORACONSIGNED",&ora->ORACONSIGNED,sizeof(ora->ORACONSIGNED),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORABOM",&ora->ORABOM,sizeof(ora->ORABOM),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORABUILDTOORDER",&ora->ORABUILDTOORDER,sizeof(ora->ORABUILDTOORDER),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORACPS",&ora->ORACPS,sizeof(ora->ORACPS),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAFORVEL",&ora->ORAFORVEL,sizeof(ora->ORAFORVEL),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASTATUS",&ora->ORASTATUS,sizeof(ora->ORASTATUS),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAMFG",&ora->ORAMFG,sizeof(ora->ORAMFG),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAMPN",&ora->ORAMPN,sizeof(ora->ORAMPN),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAMODEL",&ora->ORAMODEL,sizeof(ora->ORAMODEL),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASERIAL",&ora->ORASERIAL,sizeof(ora->ORASERIAL),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASERLEN",&ora->ORASERLEN,sizeof(ora->ORASERLEN),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORADDROP",&ora->ORADDROP,sizeof(ora->ORADDROP),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORANEWSER",&ora->ORANEWSER,sizeof(ora->ORANEWSER),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAPRELOAD",&ora->ORAPRELOAD,sizeof(ora->ORAPRELOAD),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORA2SERIAL",&ora->ORA2SERIAL,sizeof(ora->ORA2SERIAL),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORA2LENGTH",&ora->ORA2LENGTH,sizeof(ora->ORA2LENGTH),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAWEIGHT",&ora->ORAWEIGHT,sizeof(ora->ORAWEIGHT),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORASHIPMETH",&ora->ORASHIPMETH,sizeof(ora->ORASHIPMETH),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASELLTERR",&ora->ORASELLTERR,sizeof(ora->ORASELLTERR),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASOURCE",&ora->ORASOURCE,sizeof(ora->ORASOURCE),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORACURA",&ora->ORACURA,sizeof(ora->ORACURA),SQLT_FLT); status = status?status:$OBNDRV_(lastcdap,":ORANEWA",&ora->ORANEWA,sizeof(ora->ORANEWA),SQLT_FLT); status = status?status:$OBNDRV_(lastcdap,":ORAVENCOST",&ora->ORAVENCOST,sizeof(ora->ORAVENCOST),SQLT_FLT); status = status?status:$OBNDRV_(lastcdap,":ORAFUTVEN",&ora->ORAFUTVEN,sizeof(ora->ORAFUTVEN),SQLT_FLT); status = status?status:$OBNDRV_(lastcdap,":ORABUY",&ora->ORABUY,sizeof(ora->ORABUY),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAVENDOR",&ora->ORAVENDOR,sizeof(ora->ORAVENDOR),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAVPN",&ora->ORAVPN,sizeof(ora->ORAVPN),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORACASE",&ora->ORACASE,sizeof(ora->ORACASE),SQLT_FLT); status = status?status:$OBNDRV_(lastcdap,":ORASTORAGE",&ora->ORASTORAGE,sizeof(ora->ORASTORAGE),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAFREIGHT",&ora->ORAFREIGHT,sizeof(ora->ORAFREIGHT),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORABUNDLE",&ora->ORABUNDLE,sizeof(ora->ORABUNDLE),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAORIGIN",&ora->ORAORIGIN,sizeof(ora->ORAORIGIN),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAHARM1",&ora->ORAHARM1,sizeof(ora->ORAHARM1),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAHARM2",&ora->ORAHARM2,sizeof(ora->ORAHARM2),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAHARM3",&ora->ORAHARM3,sizeof(ora->ORAHARM3),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAPREF",&ora->ORAPREF,sizeof(ora->ORAPREF),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORALABELED",&ora->ORALABELED,sizeof(ora->ORALABELED),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAHEIGHT",&ora->ORAHEIGHT,sizeof(ora->ORAHEIGHT),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAWIDTH",&ora->ORAWIDTH,sizeof(ora->ORAWIDTH),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORALENGTH",&ora->ORALENGTH,sizeof(ora->ORALENGTH),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORABARCODE",&ora->ORABARCODE,sizeof(ora->ORABARCODE),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORARENO",&ora->ORARENO,sizeof(ora->ORARENO),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAFIFODAYS",&ora->ORAFIFODAYS,sizeof(ora->ORAFIFODAYS),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAFIFO",&ora->ORAFIFO,sizeof(ora->ORAFIFO),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORACONFIGURED",&ora->ORACONFIGURED,sizeof(ora->ORACONFIGURED),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAOWNBOX",&ora->ORAOWNBOX,sizeof(ora->ORAOWNBOX),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASTOCK03",&ora->ORASTOCK03,sizeof(ora->ORASTOCK03),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASTOCK04",&ora->ORASTOCK04,sizeof(ora->ORASTOCK04),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASTOCK05",&ora->ORASTOCK05,sizeof(ora->ORASTOCK05),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASTOCK06",&ora->ORASTOCK06,sizeof(ora->ORASTOCK06),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASTOCK07",&ora->ORASTOCK07,sizeof(ora->ORASTOCK07),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORACONSIGNFEE",&ora->ORACONSIGNFEE,sizeof(ora->ORACONSIGNFEE),SQLT_FLT); status = status?status:$OBNDRV_(lastcdap,":ORASORT1",&ora->ORASORT1,sizeof(ora->ORASORT1),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASORT2",&ora->ORASORT2,sizeof(ora->ORASORT2),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORABGINCLUDE",&ora->ORABGINCLUDE,sizeof(ora->ORABGINCLUDE),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORACURBG",&ora->ORACURBG,sizeof(ora->ORACURBG),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORANEXTBG",&ora->ORANEXTBG,sizeof(ora->ORANEXTBG),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAPREVBG",&ora->ORAPREVBG,sizeof(ora->ORAPREVBG),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAGROUP",&ora->ORAGROUP,sizeof(ora->ORAGROUP),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASUB",&ora->ORASUB,sizeof(ora->ORASUB),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAMAXPERCUS",&ora->ORAMAXPERCUS,sizeof(ora->ORAMAXPERCUS),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORACURRENCY",&ora->ORACURRENCY,sizeof(ora->ORACURRENCY),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORASEQ",&ora->ORASEQ,sizeof(ora->ORASEQ),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAUDIT",&ora->ORAUDIT,sizeof(ora->ORAUDIT),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAVAILABLE",&ora->ORAVAILABLE,sizeof(ora->ORAVAILABLE),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAFUTDATE",&ora->ORAFUTDATE,sizeof(ora->ORAFUTDATE),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAINPUTDATE",&ora->ORAINPUTDATE,sizeof(ora->ORAINPUTDATE),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAFORAUTOBUY",&ora->ORAFORAUTOBUY,sizeof(ora->ORAFORAUTOBUY),SQLT_CHR); status = status?status:$OBNDRV_(lastcdap,":ORAFORBLOWOUT03",&ora->ORAFORBLOWOUT03,sizeof(ora->ORAFORBLOWOUT03),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAFORBLOWOUT04",&ora->ORAFORBLOWOUT04,sizeof(ora->ORAFORBLOWOUT04),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAFORBLOWOUT05",&ora->ORAFORBLOWOUT05,sizeof(ora->ORAFORBLOWOUT05),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAFORBLOWOUT06",&ora->ORAFORBLOWOUT06,sizeof(ora->ORAFORBLOWOUT06),SQLT_INT); status = status?status:$OBNDRV_(lastcdap,":ORAFORBLOWOUT07",&ora->ORAFORBLOWOUT07,sizeof(ora->ORAFORBLOWOUT07),SQLT_INT); /* ** Execute an ORACLE SP */ return status?status:oexec(lastcdap); }