OSI/MHS Management Programming Manual
Examples
OSI/MHS Management Programming Manual—424824-001
C-52
Example in C
 return (sql_error);
} /* end add_mspwtabl_row */
/***************************************************************************/
/* Function: alter_mspwtabl_row */
/* Usage : error = alter_mspwtabl_row (appl_name, */
/* passw_in, */
/* appl_orname, */
/* ua_osi_address) */
/* Parameters: appl_name INPUT */
/* passw_in INPUT */
/* appl_orname INPUT */
/* ua_osi_address INPUT */
/*-------------------------------------------------------------------------*/
/* Alter a MSPWTABL row in response to an ALTER APPL request. If an */
/* SQL error is encountered, return the error code, otherwise return zero. */
/* If the OSI address is not present, set the zlength fields in */
/* ua_osi_address to -1. */
/***************************************************************************/
int alter_mspwtabl_row (zmhs_ddl_appl_name_def *appl_name,
 zmhs_ddl_passw_def *passw_in,
 zmhs_ddl_appl_orname_def *appl_orname,
 zmhs_ddl_ua_osi_address_def *ua_osi_address)
{
 int sql_error;
 memset (&mspwtabl_row, BLANKS, sizeof (mspwtabl_row));
 memcpy (mspwtabl_row.appl_name, appl_name, sizeof 
(zmhs_ddl_appl_name_def));
 exec sql begin work;
 /* obtain the old values for the optional fields */
 exec sql
 select password,
 pselector,
 sselector,
 tselector,
 nsap
 into :mspwtabl_row.password,
 :mspwtabl_row.pselector,
 :mspwtabl_row.sselector,
 :mspwtabl_row.tselector,
 :mspwtabl_row.nsap
 from =mspwtabl
 where (appl_name = :mspwtabl_row.appl_name);
 sql_error = sqlcode;
 if (sql_error)
 {
 exec sql rollback work;
 return (sql_error);
 }
 if (passw_in->zlength >= 0)
 {
 memset (mspwtabl_row.password, BLANKS, sizeof (mspwtabl_row.password));
 memcpy (mspwtabl_row.password, passw_in->zstring, passw_in->zlength);
 }
 if (appl_orname->zisocountry.zlength > 0)
 {
 memcpy (mspwtabl_row.iso_country, appl_orname->zisocountry.zstring,
 appl_orname->zisocountry.zlength);










