i learn this the hard way and i know now haveing two objects by the same name is bad.
has you can see from my code

HTP.P('<td class="reqlabel1">Sales Center:</td>');
HTP.P('<td class="tablelabel">');
HTP.P(Get_Sc_Dd(PVNAME=>'pnSalesCenterID', PVORAID=> VUSERNAME, PVDEFVAL => NSALESCENTERID, PVEVENT=>'class="reqinput1" onChange="makeRequest();" style="width:260px"'));
HTP.P('</td>');
************************************************************
Code:
	   HTP.P('<td class="reqlabel1">Currency:</td>');
        HTP.P('<td class="tablelabel">');

        HTP.P(Get_Currency_Dd(PVNAME=>'pvCurrCd',PVDEFVAL=>VCURRCD, PVEVENT=>'class="reqinput1" id="pvcurrency_sales" disabled  style="width:200px"'));
        HTP.FORMHIDDEN('pvCurrCd',VCURRCD);
Code:
*****************************************************
 'function makeRequest(){ //-32276 ONCHANGE FUNCTION
        var G_REL_URL="'||owa_util.get_cgi_env('SCRIPT_NAME')||'";

        $.ajax({
         url:G_REL_URL+ "/GET_SALES_CENTER_CURRENCY",

         data:{   pnSalesCenterID:$(''[name="pnSalesCenterID"]'').val()},

         dataType: "json",
         async:false,
         success: function(data){
         $('' [name="pvCurrCd"]'').val(data.return_currency_code);

             }
        });

 }';
what the onchange function does it when the sales center: is choses it will populated the currency:
i think there lies the problem, that i really dont know how to solve.
Where we have two objects with the same name. Only one is being populated by the js meaning the submit and onscreen changes are intermittently broken.
im not sure how i can fix this ?
by reading online it seems i can create different classes, which i dont want to do , there must be a different way to do this

i believe the problem lies on this two lines
HTP.P(Get_Currency_Dd(PVNAME=>'pvCurrCd',PVDEFVAL=>VCURRCD, PVEVENT=>'class="reqinput1" id="pvcurrency_sales" disabled style="width:200px"'));
HTP.FORMHIDDEN('pvCurrCd',VCURRCD);

i could be wrong , any suggestion on how to make this better/work?

thanks,