<%@ Language=VBScript %> <% OPTION EXPLICIT %> <% Response.Status="301 Moved Permanently" Response.AddHeader "Location","http://www.imf.org/external/SelectedDecisions/DecisionsList.aspx" %> <% response.buffer = true Dim decision, cn, rs,cmd, html_string, title_string,title_display_string, meta_data, sSQL, last_section, last_article, last_pre_section Dim next_record, prev_record, next_href, prev_href, decision_number, seldec_db, seldec_index, preface_html, pdf, trcolor dim dte_Decision_date pdf = "0" ' Set to one so the file can be used to create the PDF version seldec_db = "seldec_8" ' Should be seldec for production or seldec_8 for staging/testing. preface_html = "
" preface_html = preface_html + "

PREFACE

This volume is the Thirty-Eighth Issue of Selected Decisions and Selected Documents of the International Monetary Fund. It includes decisions, interpretations, and resolutions of the Executive Board and the Board of Governors of the International Monetary Fund, as well as selected documents, to which frequent reference is made in the current activities of the Fund. In addition, it includes certain documents relating to the Fund, the United Nations, and other international organizations.

As with other recent issues, the number of decisions in force continues to increase, with the decision format tending to be longer given the use of summings up in lieu of formal decisions. Accordingly it has become necessary to delete certain decisions that were included in earlier issues, that is, those that only completed or called for reviews of decisions, those that lapsed, and those that were superseded by more recent decisions.

Wherever reference is made in these decisions and documents to a provision of the Fund’s Articles of Agreement or Rules and Regulations that has subsequently been renumbered by, or because of, the Second Amendment of the Fund’s Articles of Agreement (effective April 1, 1978), the corresponding provision currently in effect is cited in a footnote.

A compact disc (CD) containing the texts of the 38th Issue, the Articles of Agreement, and By-Laws, Rules and Regulations is available from the Fund.

Sean Hagan

The General Counsel

Director of the Legal Department

" preface_html = preface_html + "
" seldec_index = Request.ServerVariables("SCRIPT_NAME") decision=Request.QueryString("decision") 'To Handle SQL Injection....................................... decision = Replace(decision,"'","") decision = Replace(decision,"--","") 'decision = Replace(decision,"*","") decision = Replace(decision,"/*","") decision = Replace(decision,"*\","") 'decision = Replace(decision,"""","") 'decision = Replace(decision,"""","") decision = Replace(decision,";","") '............................................................... 'This sillyness added because Outlook drops the closing ), thus making review harder if ( Instr(1, decision, "(", 1) ) AND ( Instr(1, decision, ")", 1) = 0 ) Then decision = decision & ")" end if 'open connection and recordset objects set cn = server.createObject("ADODB.Connection") set rs = server.createObject("ADODB.Recordset") set cmd = server.createObject("ADODB.Command") %> <% cn.open strConn 'rs.activeconnection = cn rs.cursorLocation = 3 cmd.activeconnection = cn cmd.CommandType = &H0004 cmd.commandText = "usp_sel_seldec" title_string = "Selected Decisions and Selected Documents of the IMF" title_display_string = "

Selected Decisions and Selected Documents of the IMF, Thirty- Eighth Issue" meta_data = "" & vbcrlf if decision = "" then 'Show Index 'sSQL = "SELECT article_name, pre_section_name, section_name, decision_title, decision_number FROM " & seldec_db & " where use_nav = 1 order by id asc" 'rs.open sSQL cmd.Parameters.Append cmd.CreateParameter("@type",adInteger,adParamInput, ,1) cmd.Parameters.Append cmd.CreateParameter("@select_db",advarchar,adParamInput,20 ,seldec_db) cmd.Parameters.Append cmd.CreateParameter("@decision",advarchar,adParamInput,50 ,"decision") cmd.Parameters.Append cmd.CreateParameter("@article_name",advarchar,adParamInput,50,"article_name") cmd.Parameters.Append cmd.CreateParameter("@next_record",adInteger,adParamInput, ,0) rs.Open cmd, , adOpenKeyset, adLockOptimistic, adCmdStoredProc 'html_string = html_string & "" & preface_html & "" & vbcrlf while not rs.eof if last_article <> rs.fields("article_name") then html_string = html_string & "
" & rs.fields("article_name") & "

" & vbcrlf last_article = rs.fields("article_name") end if if last_pre_section <> rs.fields("pre_section_name") then html_string = html_string & "" & rs.fields("pre_section_name") & "" & vbcrlf last_pre_section = rs.fields("pre_section_name") end if if last_section <> rs.fields("section_name") then html_string = html_string & "" & rs.fields("section_name") & "Document Number" & vbcrlf last_section = rs.fields("section_name") end if decision_number = Replace(rs.fields("decision_number"), "_2", "") decision_number = Replace(decision_number, "_3", "") decision_number = Replace(decision_number, "_4", "") html_string = html_string & " " & rs.fields("decision_title") & "" & decision_number & "" & vbcrlf rs.movenext wend rs.close elseif decision = "all" then 'Show all data 'sSQL = "SELECT article_name, pre_section_name, section_name, decision_title, decision_number, decision_text FROM " & seldec_db & " where use_nav = 1 order by id asc" 'rs.open sSQL set rs = server.createObject("ADODB.Recordset") set cmd = server.createObject("ADODB.Command") rs.cursorLocation = 3 cmd.activeconnection = cn cmd.CommandType = &H0004 cmd.commandText = "usp_sel_seldec" cmd.Parameters.Append cmd.CreateParameter("@type",adInteger,adParamInput, ,2) cmd.Parameters.Append cmd.CreateParameter("@select_db",advarchar,adParamInput,20 ,seldec_db) cmd.Parameters.Append cmd.CreateParameter("@decision",advarchar,adParamInput,50,decision) cmd.Parameters.Append cmd.CreateParameter("@article_name",advarchar,adParamInput,50,"article_name") cmd.Parameters.Append cmd.CreateParameter("@next_record",adInteger,adParamInput, ,0) rs.Open cmd, , adOpenKeyset, adLockOptimistic, adCmdStoredProc 'html_string = html_string & "" & preface_html & "" & vbcrlf while not rs.eof if trcolor = "#FFFFFF" then trcolor = "#CCCCCC" else trcolor = "#FFFFFF" end if if last_article <> rs.fields("article_name") then html_string = html_string & "" & rs.fields("article_name") & "
" & vbcrlf last_article = rs.fields("article_name") end if if last_pre_section <> rs.fields("pre_section_name") then html_string = html_string & "" & rs.fields("pre_section_name") & "" & vbcrlf last_pre_section = rs.fields("pre_section_name") end if if last_section <> rs.fields("section_name") then html_string = html_string & "" & rs.fields("section_name") & "" & vbcrlf last_section = rs.fields("section_name") end if decision_number = Replace(rs.fields("decision_number"), "_2", "") decision_number = Replace(decision_number, "_3", "") decision_number = Replace(decision_number, "_4", "") 'html_string = html_string & " 
" & rs.fields("decision_text") & "" & vbcrlf html_string = html_string & "" & rs.fields("decision_text") & "" & vbcrlf rs.movenext wend rs.close elseif decision = "index" then 'Show index file title_string = "Index -- " & title_string title_display_string = title_display_string & " -- Index" html_string = "" meta_data = "" & vbcrlf elseif decision = "list" then 'Show list file title_string = "List of Decisions by Number -- " & title_string title_display_string = title_display_string & " -- List of Decisions by Number" html_string = "" meta_data = "" & vbcrlf elseif decision = "tips" then 'Show index file title_string = "Search Tips -- " & title_string title_display_string = title_display_string & " -- Search Tips" html_string = "" meta_data = "" & vbcrlf elseif decision = "adp_rev" then 'Show 2004 adopted or revised decisions title_string = "List of Selected Decisions and Documents adopted or revised in 2004 -- " & title_string title_display_string = title_display_string & " -- List of Selected Decisions and Documents adopted or revised in 2004" html_string = "" meta_data = "" & vbcrlf elseif decision = "amending" then 'Show 2004 decisions amending other decisions title_string = "List of Selected Decisions and Documents adopted in 2004 amending other decisions -- " & title_string title_display_string = title_display_string & " -- List of Selected Decisions and Documents adopted in 2004 amending other decisions" html_string = "" meta_data = "" & vbcrlf else 'Show the selected record dim SQLConn, RSC, use_nav meta_data = "" use_nav = true set rs = server.createObject("ADODB.Recordset") set cmd = server.createObject("ADODB.Command") rs.cursorLocation = 3 cmd.activeconnection = cn cmd.CommandType = &H0004 cmd.commandText = "usp_sel_seldec" cmd.Parameters.Append cmd.CreateParameter("@type",adInteger,adParamInput, ,2) cmd.Parameters.Append cmd.CreateParameter("@select_db",advarchar,adParamInput,20 ,seldec_db) cmd.Parameters.Append cmd.CreateParameter("@decision",advarchar,adParamInput,50,decision) cmd.Parameters.Append cmd.CreateParameter("@article_name",advarchar,adParamInput,50,"article_name") cmd.Parameters.Append cmd.CreateParameter("@next_record",adInteger,adParamInput, ,0) rs.Open cmd, , adOpenKeyset, adLockOptimistic, adCmdStoredProc 'sSQL = "SELECT id, article_name, pre_section_name, section_name, decision_title, decision_number, decision_text, use_nav FROM " & seldec_db & " where decision_number = '" & decision & "' order by id asc" 'rs.open sSQL if rs.eof then meta_data = "" & vbcrlf end if while not rs.eof ' Retrieve decision date 'on error resume next 'If Err.Number <> 0 then ' response.write "

Error for query " + sSql + "

" ' response.write "" ' Error.Clear 'end if if rs.fields("article_name") <> "" then Set SQLConn = Server.CreateObject("ADODB.Connection") SQLConn.Open strConn set cmd = server.createObject("ADODB.Command") Set RSC = server.CreateObject("ADODB.RecordSet") 'sSQL = "SELECT aa_url FROM article_links where article_name = '" & rs.fields("article_name") & "'" 'Response.Write sSQL cmd.activeconnection = cn cmd.CommandType = &H0004 cmd.commandText = "usp_sel_seldec" cmd.Parameters.Append cmd.CreateParameter("@type",adInteger,adParamInput, ,3) cmd.Parameters.Append cmd.CreateParameter("@select_db",advarchar,adParamInput,20 ,seldec_db) cmd.Parameters.Append cmd.CreateParameter("@decision",advarchar,adParamInput,50,decision) cmd.Parameters.Append cmd.CreateParameter("@article_name",advarchar,adParamInput,200,rs.fields("article_name")) cmd.Parameters.Append cmd.CreateParameter("@next_record",adInteger,adParamInput, ,0) RSC.Open cmd, , adOpenKeyset, adLockOptimistic, adCmdStoredProc 'sSQL = "SELECT aa_url FROM article_links where article_name = '" & rs.fields("article_name") & "'" 'Set RSC = SQLConn.Execute(sSQL) If not RSC.EOF Then html_string = html_string & "" & RSC.fields("aa_url") & "
" & vbcrlf Else html_string = html_string & "" & rs.fields("article_name") & "
" & vbcrlf End If SQLConn.close set SQLConn = nothing set RSC = nothing end if if rs.fields("pre_section_name") <> "" then html_string = html_string & "" & rs.fields("pre_section_name") & "" & vbcrlf end if if rs.fields("section_name") <> "" then html_string = html_string & "" & rs.fields("section_name") & "" & vbcrlf end if decision_number = Replace(rs.fields("decision_number"), "_2", "") decision_number = Replace(decision_number, "_3", "") decision_number = Replace(decision_number, "_4", "") 'html_string = html_string & " " & rs.fields("decision_text") & "" & vbcrlf html_string = html_string & "" & rs.fields("decision_text") & "" & vbcrlf dte_Decision_date = rs.fields("decision_date") 'If Err.Number <> 0 then ' response.write "

Error for query " + sSql + "

" ' response.write "" ' Error.Clear 'else ' response.write "

No error

" 'end if title_string = rs.fields("decision_title") & " " & decision_number title_display_string = title_display_string & " -- " & rs.fields("decision_title") next_record = rs.fields("id") next_record = next_record + 1 prev_record = rs.fields("id") prev_record = prev_record - 1 use_nav = rs.fields("use_nav") rs.movenext wend rs.close 'response.Write(decision & ", "&next_record) meta_data = meta_data & "" & vbcrlf if use_nav then set rs = server.createObject("ADODB.Recordset") set cmd = server.createObject("ADODB.Command") rs.cursorLocation = 3 rs.activeconnection = cn cmd.activeconnection = cn cmd.CommandType = &H0004 cmd.commandText = "usp_sel_seldec" cmd.Parameters.Append cmd.CreateParameter("@type",adInteger,adParamInput, ,4) cmd.Parameters.Append cmd.CreateParameter("@select_db",advarchar,adParamInput,20 ,"seldec_db") cmd.Parameters.Append cmd.CreateParameter("@decision",advarchar,adParamInput,50,"decision") cmd.Parameters.Append cmd.CreateParameter("@article_name",advarchar,adParamInput,50,"article_name") cmd.Parameters.Append cmd.CreateParameter("@next_record",adInteger,adParamInput, ,next_record) rs.Open cmd, , adOpenKeyset, adLockOptimistic, adCmdStoredProc 'sSQL = "SELECT decision_number FROM " & seldec_db & " where id = '" & next_record & "' and use_nav = 1" 'Response.Write sSQL 'rs.open sSQL while not rs.eof next_href = "Next Document >" rs.movenext wend rs.close set rs = server.createObject("ADODB.Recordset") set cmd = server.createObject("ADODB.Command") rs.cursorLocation = 3 cmd.activeconnection = cn cmd.CommandType = &H0004 cmd.commandText = "usp_sel_seldec" cmd.Parameters.Append cmd.CreateParameter("@type",adInteger,adParamInput, ,4) cmd.Parameters.Append cmd.CreateParameter("@select_db",advarchar,adParamInput,20 ,seldec_db) cmd.Parameters.Append cmd.CreateParameter("@decision",advarchar,adParamInput,50,decision) cmd.Parameters.Append cmd.CreateParameter("@article_name",advarchar,adParamInput,50,"article_name") cmd.Parameters.Append cmd.CreateParameter("@next_record",adInteger,adParamInput, ,prev_record) rs.Open cmd, , adOpenKeyset, adLockOptimistic, adCmdStoredProc 'sSQL = "SELECT decision_number FROM " & seldec_db & " where id = '" & prev_record & "' and use_nav = 1" 'rs.open sSQL while not rs.eof prev_href = "< Previous Document" rs.movenext wend rs.close end if end if title_display_string = title_display_string & "" Function get_text( myfile, ptrn, repstr ) Dim fso, f, ReadTextFile, regex set fso = server.createObject( "Scripting.FileSystemObject" ) set f = fso.OpenTextFile( server.mapPath(".") & "\" & myfile ,1 ) while f.AtEndOfStream = False ReadTextFile = ReadTextFile & f.ReadLine wend f.close set regex = New RegExp regex.IgnoreCase = True regex.Pattern = ptrn If regex.Test( ReadTextFile ) Then regex.Global = True ReadTextFile = regex.Replace( ReadTextFile, repstr ) End If response.write ReadTextFile End function if ( pdf = "1" ) then 'call rep_text( html_string, "index\.asp", seldec_index ) call rep_text( html_string, "", "" ) end if Function rep_text( mytext, ptrn, repstr ) Dim regex set regex = New RegExp regex.IgnoreCase = True regex.Pattern = ptrn If regex.Test( mytext ) Then regex.Global = True mytext = regex.Replace( mytext, repstr ) html_string = mytext End If End function %> <% =title_string %> <% =meta_data %>

<% =title_display_string %> Prepared by the Legal Department of the IMF
As updated as of February 29, 2016

<% if decision="" or decision="all" then response.write preface_html end if %>
<% if ( prev_href <> "" ) OR ( next_href <> "" ) then %> <% end if %> <% if decision = "index" then 'Show index file%> <% elseif decision = "list" then 'Show list file%> <% elseif decision = "tips" then 'Show search tips%> <% elseif decision = "adp_rev" then 'Show 2005 adopted or revised decisions%> <% elseif decision = "amending" then 'Show 2005 decisions amending other decisions%> <% else response.write html_string end if %> <% if ( prev_href <> "" ) OR ( next_href <> "" ) then %> <% end if %>
<% =prev_href %><% =next_href %>
<% =prev_href %><% =next_href %>
<% 'close recordset and connection objects set rs = nothing cn.close set cn = nothing %> <% if ( pdf = "0" ) then %> <% end if %>